Seite 1 von 1

Zeilen automatisch löschen

Verfasst: Sa, 12.05.2007 18:19
von twinx
Hallo,
hab zum Thema nichts gefunden.
Beispiel habe zu jedem Tag eine Zeile ein ganzes Jahr lang. Will alle Zeilen mit Montag herauslöschen.
Mo. 03.10.88
Di. 04.10.88
Mi. 05.10.88
Do. 06.10.88
Wie geht das? Vielen Dank.

Verfasst: Sa, 12.05.2007 18:46
von Eia
Dafür brauchst Du ein Makro. Versuchs mal mit der Suchen-Funktion hier im Forum, das war schon einmal Thema.

Als Variante könntest Du die Tabelle filtern, den Montag auslassen und das Filterergebnis in eine neue Tabelle ausgeben lassen. Welches Format liegt denn vor, ist es eine Zahlen(Datums)spalte oder ist es Text?

mfG

Verfasst: Sa, 12.05.2007 18:49
von turtle47
Hallo Twinx,

das geht z.B. mit diesem Makro was ich hier im Forum gefunden und
entsprechend angepasst habe:

Code: Alles auswählen

Sub LoescheZeileMontag
oSheet = ThisComponent.CurrentController.getActiveSheet()
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Zeile = oCellCursor.getRangeAddress.EndRow
For i = 0 To letzte_Zeile
If left(oSheet.GetCellByPosition(0, i).String,3) = "Mo." and right(oSheet.GetCellByPosition(0, i).String,1) = "8" Then
oSheet.Rows.removeByIndex(i,1)
i = i - 1
letzte_Zeile = letzte_Zeile - 1
End If
Next i
End Sub
wenn das Datum in Spalte A steht.

Viel Erfolg

Jürgen

Verfasst: Sa, 12.05.2007 19:17
von twinx
Hallo,
ja es ist ein Datumsformat.
Das makro von turtle47 hat auch bei den ersten Zeilen gut funktioniert, danke.
Aber dann hat es irgendwie aufgegeben:

Code: Alles auswählen

Fr. 30.09.88	95,44	95,63	95,44	95,55	0	0
Fr. 14.10.88	96,68	96,97	96,68	96,96	0	0
Fr. 21.10.88	97,21	97,35	97,15	97,22	0	0
Fr. 28.10.88	97,56	98,30	97,50	98,07	0	0
Fr. 04.11.88	97,90	97,99	97,51	97,51	0	0
Fr. 11.11.88	97,55	97,60	97,25	97,29	0	0
Fr. 18.11.88	97,04	97,17	97,04	97,15	0	0
Fr. 25.11.88	97,28	97,31	96,92	96,94	0	0
Fr. 02.12.88	96,82	96,85	96,40	96,53	0	0
Fr. 09.12.88	95,74	95,75	95,44	95,53	0	0
Fr. 16.12.88	95,46	95,70	95,46	95,60	0	0
Fr. 23.12.88	95,70	95,78	95,70	95,75	0	0
Fr. 30.12.88	95,45	95,56	95,45	95,49	0	0
Di. 03.01.89	95,27	95,27	95,01	95,02	0	0
Mi. 04.01.89	95,04	95,23	95,00	95,14	0	0
Do. 05.01.89	95,24	95,28	95,08	95,12	0	0
Fr. 06.01.89	95,09	95,13	94,82	94,88	0	0
Mo. 09.01.89	95,00	95,06	94,72	94,81	0	0
Di. 10.01.89	94,77	94,92	94,72	94,91	0	0
Mi. 11.01.89	94,99	95,17	94,89	95,13	0	0
Do. 12.01.89	95,20	95,20	94,93	94,96	0	0
Fr. 13.01.89	95,05	95,33	94,98	95,29	0	0
Mo. 16.01.89	95,28	95,36	95,15	95,28	0	0
Ich bin noch neu bei den OOo Makros nur in Excel bisher Sachen gemacht. Aber wie gesagt, bei den ersten Zeilen hat es ja gut funktioniert!

Verfasst: Sa, 12.05.2007 19:44
von turtle47
Hi Twinx,

das Makro löscht nur die Zeilen wo eine "8" am Ende steht.
Die Jahreszahl wechselt aber von
Fr. 30.12.88
nach
Di. 03.01.89
Tausche das Makro mit folgendem aus,

Code: Alles auswählen

Sub LoescheZeileMontag
oSheet = ThisComponent.CurrentController.getActiveSheet()
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Zeile = oCellCursor.getRangeAddress.EndRow
For i = 0 To letzte_Zeile
If left(oSheet.GetCellByPosition(0, i).String,3) = "Mo." Then
oSheet.Rows.removeByIndex(i,1)
i = i - 1
letzte_Zeile = letzte_Zeile - 1
End If
Next i
End Sub
dann ist die Jahreszahl egal.

Viele Grüße

Jürgen

Verfasst: So, 13.05.2007 19:41
von twinx
turtle47 hat geschrieben:dann ist die Jahreszahl egal.
:roll: Wenn ich denn noch welche hätte! Die Jahreszahlen haben sich irgendwie verabschiedet

Code: Alles auswählen

        19880929	0	95280	95390	95230	95350
Fr, 19. 02 -9204	0	95440	95630	95440	95550
Mo, 2. 05 -9204	0	95800	95870	95750	95760
Di, 3. 05 -9204	0	95800	95850	95680	95720
Mi, 4. 05 -9204	0	95650	95750	95620	95750
Do, 5. 05 -9204	0	95770	95790	95680	95720
... und dein Makro greift nicht mehr, da tut sich einfach nix!

Mein Datum habe ich in diesem Fomat 19880929 also 29.09.1988. Aber wenn ich so NN, T. MM JJJJ formatieren will kommt Do, 18. 02 -9204
dabei raus. Gestern hat es noch irgendwie funktioniert mit dem Datumsformat.

Aber davon mal abgesehen, sollte doch dein Makro trotzdem die Zeilen rauswerfen, oder nicht?

Verfasst: So, 13.05.2007 20:19
von turtle47
Hallo Twinx,
Aber davon mal abgesehen, sollte doch dein Makro trotzdem die Zeilen rauswerfen, oder nicht?
nein, macht es nicht weil nach: gesucht wird wie im ersten Posting von Dir angegeben wurde und nicht nach Ändere den Code von

Code: Alles auswählen

.String,3) = "Mo."
nach

Code: Alles auswählen

.String,2) = "Mo"
dann ist es egal ob nach Mo ein Punkt oder ein Komma steht.

Wo sind denn die anderen Kommata in den Spalten geblieben?
Hast Du mit Suchen und Ersetzen experimentiert?
Ich hoffe Du hattest Dir vorher eine Sicherungskopie der Datei angelegt.

Jürgen