Letzte Zeile einer Tabelle suchen und löschen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Letzte Zeile einer Tabelle suchen und löschen

Re: Letzte Zeile einer Tabelle suchen und löschen

von clumsy » So, 02.08.2009 22:38

Und wenn ich jetzt den Inhalt von 5 Zellen in die 5 Zellen der nächste freie Zeile dieser Tabelle von Spalte D bis H kopieren möchte?
Das muss doch ähnlich funktionieren.

Also zum Beispiel steht in Zelle B1 "10", in Zelle B2 "33", in Zelle C3 "23", in Zelle A4 "456" und in Zelle J5 "98".

Diese Werte sollen dann in die nächste freie Zeile (von oben gesehen) in die Tabelle geschrieben werden:

Also zum Beispiel B1 nach D10, B2 nach E10, C3 nach F10, A4 nach G10 und J5 nach H10.

Re: Letzte Zeile einer Tabelle suchen und löschen

von clumsy » So, 02.08.2009 22:20

danke, so geht es! Super!!! :D

Und was muss ich abändern, wenn das Makro bei Zeile 3 aufhören soll zu löschen?
Also die ersten 3 Zeilen von oben sollen immer stehen bleiben


edit:

für:

Code: Alles auswählen

for i = 0 to End_Row +1 'Schleife bis zur letzten benutzten Zeile +1
das ersetzen:

Code: Alles auswählen

for i = 4 to End_Row +1 'Schleife bis zur letzten benutzten Zeile +1
bin ich selbst drauf gekommen...

danke!

Re: Letzte Zeile einer Tabelle suchen und löschen

von clumsy » So, 02.08.2009 22:15

ok, dann habe ich:

Code: Alles auswählen

Sub Main
   oSheet = ThisComponent.Sheets(0)
   oRange = oSheet.getCellRangeByName("I2")
   oCellCursor = oSheet.createCursorByRange(oRange)
   oCellCursor.GotoEndOfUsedArea(True) 'gehe zur letzten benutzten Zeile   
   End_Row = oCellCursor.getRangeAddress.EndRow 'Index letzte Zeile auslesen
   oRange = oSheet.getCellRangeByPosition(3, End_Row, 7, End_Row)
   oRange.clearContents(com.sun.star.sheet.CellFlags.VALUE)
End Sub
Wenn meine Tabelle jetzt von D1:H20 geht und ich habe in A21 eine Zahl stehen, dann löscht er mir nicht mehr die letzte Zeile der Tabelle (nämlich D20:H20), weil er unter A21 die letzte Zelle gefunden hat. Das will ich halt vermeiden.

Wenn ich das so abändere geht es immer noch nicht

Re: Letzte Zeile einer Tabelle suchen und löschen

von Karolus » So, 02.08.2009 22:06

Hallo
Dann ersetze in Gast#s Code die zweite Zeile:
...
oCellCursor = oSheet.createCursor()
...
durch:
...
oRange = osheet.getcellrangebyname("I2")
oCellCursor = oSheet.createCursorByRange(oRange)

Gruß Karo
...

Re: Letzte Zeile einer Tabelle suchen und löschen

von clumsy » So, 02.08.2009 21:49

ok, verstehe.

Das Problem ist jetzt bloß, dass er die ganze Zeile absucht und nicht (so wie ich es brauche) in dem Zellbereich (3,end_row,7,end_row)
Ist nämlich in anderen Spalten tiefer ein Eintrag, so löscht er nicht mehr die letzte Zeile des Zellbereichs

Letzte Zeile einer Tabelle suchen und löschen

von clumsy » So, 02.08.2009 20:41

Hallo,

wie kann ich die letzte Zeile einer Tabelle bestehend aus 5 Spalten suchen
(Also gesucht ist die Zeile auf die nur noch leere Zeilen folgen)
und deren Inhalt löschen?

Das müsste man irgendwie in eine Schleife packen, die die letzte Zeile findet:

Code: Alles auswählen

Sub clearContents
   Dim oRange as Object
   Dim oSheet as Object
   oSheet = thisComponent.Sheets(0)
   oRange = oSheet.getCellRangeByPosition(3, position, 7, position)
   oRange.clearContents(com.sun.star.sheet.CellFlags.VALUE)
End Sub 

Nach oben