Seite 1 von 1

Spalte neben Datum einfügen

Verfasst: Mi, 05.07.2006 16:14
von janher62
Hallo
Ich benutze oo 1.1 und habe bei Calc ein kl. Problem:

In der Zeile A1 bis AE 1 eines Tabellenblattes stehen als Wochentage aufgelistet (mo., di. mi., etc..) die einzelnen Tage eines Monats( 1. bis 31.)

Wie gelingt es mir, per makro links neben jedem Montag eine Leerspalte einzufügen?

Danke im voraus für Hilfe.


Hermann

Noch ein nachtrag zu spalteneinfügen

Verfasst: Mi, 05.07.2006 20:25
von janher62
Also in Excel VBA sieht das makro für spalteneinfügen neben einem montag als datum folgendermaßen aus:


Code: Alles auswählen

Sub Einfuegen()															
    Dim I As Integer															
    For I = 31 To 1 Step -1															
        If Weekday(Cells(1, InI), 2) = 1 And Cells(1, InI) <> "" Then															
            Columns(InI).Insert Shift:=xlToRight															
        End If															
    Next InI															
    Columns(1).Insert Shift:=xlToRight															
End Sub			
Könnte mir das jemand übersetzen?


Hermann

Verfasst: Do, 06.07.2006 12:27
von Karolus
Hallo Hermann

Nein übersetzen kann ich dir das nicht, aber statt nach Excel-VBA zu recherieren, hättest du genausogut diesen Thread suchen und finden können :


viewtopic.php?t=7819
dort reinschauen können:
http://www.dannenhoefer.de/faqstarbasic ... uegen.html

und mit etwas "trial and Error" folgenden funktionierenden Code zu erhalten :

Code: Alles auswählen

Sub Wochenspalteeinfuegen
oSheet = ThisComponent.CurrentController.getActiveSheet()
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Spalte = oCellCursor.getRangeAddress.EndColumn
For i = 0 To letzte_Spalte
'Doppelabfrage um Wiederholung der Schleife zu verhindern :
   If oSheet.GetCellByPosition(i, 0).String = "So" AND _
      oSheet.GetCellByPosition(i+1, 0).String = "Mo" Then
      oSheet.Columns.insertByIndex(i+1,1)
      letzte_Spalte = letzte_Spalte + 1
   End If
Next i
'Falls der Monat mit "Mo" beginnt :
If oSheet.GetCellByPosition(0, 0).String = "Mo" Then
      oSheet.Columns.insertByIndex(0,1)
      End if
End Sub
Das funktioniert sowohl mit einer Textfolge (Mo,Di,Mi....), als auch mit 'TTT'-formatierten Datumswerten in Zeile 1.

Gruß Karo

Re: Spalteneinfügen

Verfasst: Sa, 08.07.2006 12:15
von janher62
Wow

Dieses makro funktioniert perfekt.

Genau das ist es was ich lange gesucht habe. Hatte zwar schon die Seite über eine spalte in oo einfügen gelesen, kam aber mit der abfrage über die wochentage nicht so richtig zurecht.

vielen dank.

Gruß Hermann