Es werden alle Zeilen in Tabelle1 durchsucht.
Es wird geprüft, ob die aktuelle Zeile einen Nullwert in Spalte I hat. Falls nein, wird unter der aktuellen Zeile eine Zeile eingefügt
das folgende Makro tut das:
Code: Alles auswählen
Sub S_insert_rows
osheet = thiscomponent.sheets.getbyname("Tabelle1")
orows = osheet.rows
ocursor = osheet.createcursor
ocursor.gotoendofusedarea(False)
nrow = ocursor.rangeaddress.endrow
j = nrow
for i = 0 To j
If thiscomponent.sheets.getbyname("Tabelle1").getCellByPosition(8,i).Value <> 0 Then
orows.insertbyindex(i+1,1)
i = i + 1
j = j + 1
End If
next i
End Sub
Hinweis: das Makro ist nicht sehr schnell, falls viele Zeilen zu bearbeiten sind müsste man das anders programmieren, momentan wollte ich das nicht tun weil es für Dich mutmaßlich so wie es jetzt ist leichter zu verstehen ist.
und die Spalten A, I und M kopiert
Wohin denn?
Dann wird mit der nächsten Spalte weitergemacht (Natürlich nicht die Spalte, die grade angefügt wurde.)
?
Gerade eingefügt wurde eine Zeile, warum ist jetzt plötzlich von Spalte die Rede? Ich könnte ja mutmaßen es geht doch um Zeilen, aber vielleicht ist genau da falsch weil es die ganze Zeit um Spalten geht, dann wäre auch obiges Makro ungeeignet.
Gruß
Stephan
[quote]Es werden alle Zeilen in Tabelle1 durchsucht.
Es wird geprüft, ob die aktuelle Zeile einen Nullwert in Spalte I hat. Falls nein, wird unter der aktuellen Zeile eine Zeile eingefügt
[/quote]
das folgende Makro tut das:
[code]Sub S_insert_rows
osheet = thiscomponent.sheets.getbyname("Tabelle1")
orows = osheet.rows
ocursor = osheet.createcursor
ocursor.gotoendofusedarea(False)
nrow = ocursor.rangeaddress.endrow
j = nrow
for i = 0 To j
If thiscomponent.sheets.getbyname("Tabelle1").getCellByPosition(8,i).Value <> 0 Then
orows.insertbyindex(i+1,1)
i = i + 1
j = j + 1
End If
next i
End Sub
[/code]
Hinweis: das Makro ist nicht sehr schnell, falls viele Zeilen zu bearbeiten sind müsste man das anders programmieren, momentan wollte ich das nicht tun weil es für Dich mutmaßlich so wie es jetzt ist leichter zu verstehen ist.
[quote]und die Spalten A, I und M kopiert[/quote]
Wohin denn?
[quote]Dann wird mit der nächsten Spalte weitergemacht (Natürlich nicht die Spalte, die grade angefügt wurde.)
[/quote]
?
Gerade eingefügt wurde eine Zeile, warum ist jetzt plötzlich von Spalte die Rede? Ich könnte ja mutmaßen es geht doch um Zeilen, aber vielleicht ist genau da falsch weil es die ganze Zeit um Spalten geht, dann wäre auch obiges Makro ungeeignet.
Gruß
Stephan