Jede x-te Zeile löschen?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

theape
Beiträge: 3
Registriert: Fr, 01.12.2006 12:34

Jede x-te Zeile löschen?

Beitrag 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
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Beitrag 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
Zuletzt geändert von Karolus am Fr, 01.12.2006 22:48, insgesamt 2-mal geändert.
theape
Beiträge: 3
Registriert: Fr, 01.12.2006 12:34

Beitrag 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
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo

Tut mir leid, ein kleiner Dreckfuhler, habs jetzt im Original korrigiert
(4.Zeile Anfang : "letzeZeile...." ->"letzteZeile...")

Gruß Karo
theape
Beiträge: 3
Registriert: Fr, 01.12.2006 12:34

Beitrag 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 :)
Antworten