Jede 2.te Zeile 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: Jede 2.te Zeile löschen.

Re: Jede 2.te Zeile löschen.

von Abbuzze » Do, 11.06.2009 20:05

Also als absolute Simpellösung:

1. Eine neue Spalte Einfügen.
2. Dann in die 1. Zeile eine "A" und in die 2. ein "B". Dann beide markieren und nach unten bis zum Ende der Einträge ziehen. Die Zellen sollten dann immer abwechselnd mit A u. B beschriftet sein.
3. Über Daten>Sortieren> diese Spalte sortieren lassen. Alle "A" stehen dann hintereinander, ebenso wie alle "B". Die doppelten Einträge sind also getrennt und man kann einen dieser Bereiche einfach löschen.
Gruß

Abbuzze

Re: Jede 2.te Zeile löschen.

von Nestea » Mi, 10.06.2009 17:40

Immer mit der Ruhe!
Keine Sorge. Ich habe niemanden (dich nicht) gehezt. Nur ja, war ein klein wenig zittrig :].

vielen Dank noch einmal.
mfG

edit:Ziemlich gut. Gefällt mir sehr.

Re: Jede 2.te Zeile löschen.

von Karolus » Mi, 10.06.2009 11:11

Hallo
Immer mit der Ruhe!

Code: Alles auswählen

sub jede_n_te_Zeile_loeschen

with thiscomponent.currentselection().rangeaddress

	erstezeile = .startrow 'erste Zeile der Selektion
	endzeile = .endrow 'letzte Zeile der Selektion
	mysheet = thisComponent.sheets( .sheet ) 'das sel. Tabellenblatt
	
end with

myrows = mysheet.getrows
n = val ( inputbox ( "jede n.te Zeile von Zeile " &_
				erstezeile+1 &" bis Zeile " &_
				endzeile+1 &"soll gelöscht werden" &chr(13)&_
				" " & chr(13) &_
				"Gib eine Schrittweite n >1 ein",, 2 )   ) 'Vorgabewert 2
				
	if n < 2 then
		msgbox ("Schrittweite zu klein")
		exit sub
	end if
	
for i = erstezeile to endzeile -int((endzeile - erstezeile)/n) step n-1 
	myrows.removebyindex(i,1) 'löschen Index und Anzahl
next i

end sub
Den abzuarbeitenden Bereich bestimmst du über einen selektierten Bereich, die Schrittweite gibst du ein.

Gruß Karo

Re: Jede 2.te Zeile löschen.

von Nestea » Di, 09.06.2009 19:32

Nicht machbar auf die Schnelle?

Re: Jede 2.te Zeile löschen.

von Nestea » So, 07.06.2009 22:37

Perfekt.
Wärs noch zu viel verlangt ein kleines Dialogfenster einzubauen?
Ich habe in der Hilfe ein bisschen gestöbert, aber nicht wirklich etwas
gefunden.

Re: Jede 2.te Zeile löschen.

von Karolus » So, 07.06.2009 21:48

Hallo
Da die Zeilen bei jeder Löschung nach oben rutschen muss müssen die effektiven Schleifendurchgänge von der oberen Grenze abgezogen werden, passts so:

Code: Alles auswählen

sub jede_n_te_Zeile_loeschen
odoc=thiscomponent
n = 2  'Schrittweite anpassen!
erstezeile = 13 'anpassen!
endzeile = 58 'anpassen
mysheet=odoc.sheets(0) '1. Tabellenblatt
myrows=mysheet.getrows
for i = erstezeile-1 to endzeile -int((endzeile - erstezeile)/n) step n-1 'index beginnt bei 0 !
	'löschen Index und Anzahl
	myrows.removebyindex(i,1)
next i
end sub
Gruß Karo

Re: Jede 2.te Zeile löschen.

von Nestea » So, 07.06.2009 21:09

Hm, funktioniert doch nicht so ganz.
n=2
erstezeile=13
endz=58
löscht er nur bis zur 21ten Zeile.

Re: Jede 2.te Zeile löschen.

von Nestea » So, 07.06.2009 19:46

Aha, funktioniert alles gut soweit. Vielen Dank fürs Bemühen.
Geht das mit dem Einfügen auch? Also ein separates Makro.
mfG

Re: Jede 2.te Zeile löschen.

von Karolus » So, 07.06.2009 18:06

Hallo

Code: Alles auswählen

sub jede_n_te_Zeile_loeschen
odoc=thiscomponent
n = 5  'Schrittweite anpassen!
erstezeile = 4 'anpassen!
endzeile = 255 'anpassen
  mysheet=odoc.sheets(0) '1. Tabellenblatt
  myrows=mysheet.getrows
for i = erstezeile-1 to (endzeile-erstezeile-(int(endzeile/n))) step n-1 'index beginnt bei 0 !
'löschen Index und Anzahl
  myrows.removebyindex(i,1)
next i
end sub
Vorsicht ! bei falschen Einträgen gibts ne Endlosschleife

Gruß Karo

Re: Jede 2.te Zeile löschen.

von Nestea » So, 07.06.2009 16:58

Wäre es möglich zu sagen, dass ich jede nte Zeile löschen bis zu 255.
Acha hab den Beitrag von Eia nicht gesehen. Mal schauen.
edit2:Hm, keine Ahnung wie das gehen soll.

Noch eine Sache. Wenn ich zb etwas in jede nte Zeile einfuegen wollen würde zb aus der Zwischenablage oder aus einer Zelle.

von Eia » Fr, 27.04.2007 12:59

Sowas kann man auch filtern. Mit einem Standardfilter, der die Daten in eine neue Tabelle ausgibt und dabei Duplikate unterdrückt.
mfG

von gbolk » Fr, 27.04.2007 12:28

Das mit dem Ergebniss ist der Streß hier Schuld.... :roll:

Der Rest funktioniert....Danke...;-)....

Gruß

von Karolus » Fr, 27.04.2007 11:58

Hallo
Nun würde ich gerne jede zweite Zeile löschen und eine Liste mit statt 1694 Einträgen eine mit 874 Zeilen vorfinden.
Die Hälfte von 1694 ist 847.
per Makro ? :

Code: Alles auswählen

sub jede2teZeileloeschen
odoc=thiscomponent
  mysheet=odoc.sheets(0) '1. Tabellenblatt
  myrows=mysheet.getrows
for i = 1693 to 1 step -2 'index beginnt bei 0 !
'löschen Index und Anzahl
  myrows.removebyindex(i,1)
next i
end sub
Gruß Karo

Jede 2.te Zeile löschen.

von gbolk » Fr, 27.04.2007 11:15

Hallo,

ich habe gesucht aber leider nichts gefunden. Sollte das Thema also schon bestand haben, mich bitte mit der Nase draufstoßen...

Mein Problem:
Ich habe eine Liste aus Tobit mit allerlei Adressdaten exportiert und nun unter OO-Calc importiert. Leider hat er aber beim export jede Adresse zweimal exportiert und somit ist in OO auch alles doppelt vorhanden.

Nun würde ich gerne jede zweite Zeile löschen und eine Liste mit statt 1694 Einträgen eine mit 874 Zeilen vorfinden.

Wer kann mir sachdienliche Hinweise geben...??

Danke und Gruß

Nach oben