ich habe eine Datei, in welcher ich alle Zeilen löschen will, in denen in Spalte B nichts steht.
Folgenden Code habe ich derzeit erstellt:
Code: Alles auswählen
REM ***** BASIC *****
Sub RowDelete
Dim i as Integer
oDoc = ThisComponent
oSheets = oDoc.Sheets
oSheet = oSheets.getbyName("Daten")
oRows = oSheet.getRows
For i = 3 to 100
oCell = oSheet.getCellByPosition(1,i)
if oCell.Type = 0 Then oRows.removeByIndex(i,1)
Next i
End Sub
Bsp.:
Er prüft Zeile 4 und stellt fest, Zelle B4 ist leer => Zeile wird gelöscht; Zeile 5 wird zu Zeile 4
Wenn die neue Zeile 4 aber auch zu löschen wäre, funktioniert das nicht, da i ja nun 5 ist.
Ich habe auch folgenden Code probiert, der das Problem mit den 2 aufeinander folgenden Zeilen löst, sich aber tot läuft, d.h. ich muss das Macro manuell abbrechen
Code: Alles auswählen
Sub RowDelete
Dim i as Integer
oDoc = ThisComponent
oSheets = oDoc.Sheets
oSheet = oSheets.getbyName("Daten")
oRows = oSheet.getRows
Goto Start
Start:
For i = 3 to 100
oCell = oSheet.getCellByPosition(1,i)
if oCell.Type = 0 Then
oRows.removeByIndex(i,1)
Goto Start
End if
Next i
End Sub
Danke für eure Hilfe.
theindless