Seite 1 von 1
Jede x-te Zeile löschen?
Verfasst: Fr, 01.12.2006 12:39
von theape
Hallo
Ich habe ein kleines Problem: Ich habe eine Tabelle mit einer Spalte, die mehrere Tausend Zeilen besitzt und muss nun jede dritte bzw. zweite Zeile löschen können. Von Hand wäre das zuviel Arbeit^^ Habe im Internet mal gesucht, aber nur Makros für Excel gefunden, die ich nach einem kurzen Test unter OO direkt wieder gelöscht habe^^
Kann mir vielleicht jemand helfen? hat jemand eine Idee, wie ich das nun machen kann?
MfG
ape
Verfasst: Fr, 01.12.2006 15:48
von Karolus
Hallo
Was meinst du mit "jede dritte bzw. jede zweite" ?-
und du möchtest ganze Zeilen entfernen, und nicht nur den Inhalt der Zellen ?
Versuchs mal mit folgenden Makro , (aber pass es vorher an deine Bedingungen an. und teste es)
Code: Alles auswählen
Sub Zeilenloeschen
odoc = thisComponent
mysheet=odoc.currentcontroller.activesheet
letzteZeile = 30 ' Hier später den gesamten Zeilenindex angeben, Zeile1 entspricht 0
for z = 0 to letzteZeile
'gewünschte Option aukommentieren↓
'k = z mod (4/3) 'jede zweite Zeile löschen
k = z mod 1.5 'jede dritte Zeile 1. 4. 7. usw
if k = 0 then
myrows=mysheet.getrows
myrows.removebyindex(z,1) 'Wenn hier '(z+1,1)' ->Start bei 2.Zeile
letzteZeile = letzteZeile - 1
end if
next z
End Sub
Gruß karo
Verfasst: Fr, 01.12.2006 22:02
von theape
damit meine ich, dass ich in einem dokument jeweils die zweite löschen muss und halt in nem anderen jeweils die dritte und jeweils komplett.
ich probiers mal aus, danke
edit:
sry ich bin n richtiger anfänger in makros, bitte nich zu hart urteilen^^
habs jetz ma ausprobiert und der löscht bei mir beim ausführen des makros jetz jeweils die erste zeile und mehr nich. und beim nächsten mal halt wieder die jetzige zeile, die davor noch zeile 2 war
Verfasst: Fr, 01.12.2006 22:28
von Karolus
Hallo
Tut mir leid, ein kleiner Dreckfuhler, habs jetzt im Original korrigiert
(4.Zeile Anfang : "letzeZeile...." ->"letzteZeile...")
Gruß Karo
Verfasst: Fr, 01.12.2006 22:44
von theape
also hab grad mal ein bisschen selbst rumprobiert:
Code: Alles auswählen
Sub Zeilenloeschen
odoc = thisComponent
mysheet=odoc.currentcontroller.activesheet
for z = 0 to x ' für x deinen gesamten Zeilenindex; Steht eine 0, werden alle geraden gelöscht, steht eine 1, die ganzen geraden
myrows=mysheet.getrows
myrows.removebyindex(z,1)
next z
End Sub
das is für meine zwecke erstma ausreichend, so kann ich zumindest jede zweite löschen.
danke für deinen code, hat mir sehr geholfen
