Supportnet / Forum / Tabellenkalkulation
Jede 2. Zeile Markieren
Frage
Hallo Zusammen,
gibt es eine Möglichkeit jede 2 Zeile einer Tabelle automatisch zu Markieren und zu löschen?
Es handelt sich hierbei um eine Tabelle mit über 3000 Zeilen, so das dieses nicht mehr von Hand zu machen ist.
Vielen Dank
Gruß
Trudi
Antwort 1 von cmkatz
Hallo,
das geht per Makro:
Zu Intergrieren des Makros:
Alt+F11 drücken öffnet den VB-Editor, mit Einfügen - Modul fügst du ein "Modul1" ein und da kopierst du obigen Code rein.
Jetzt kannst du, nachdem du den VB-Editor wieder geschlossen hast unter Extras-Makro-Makros (oder kurz Alt+F8) das Makro "Jede_zweite_Zeile_markieren" ausführen.
Die Markierung beginnt in der ersten Zeile
Wenn du
Selection.ClearContents
nach
Range(x).Select
einfügst, werden die markierten Zeilen automatisch gelöscht.
Gruß
cmkatz
das geht per Makro:
Sub Jede_zweite_Zeile_markieren()
z = ActiveSheet.UsedRange.Rows.Count
x = """"
For i = 1 To z Step 2
x = x & i & ":" & i & ","
Next i
x = Mid(x & """", 2, Len(x & """") - 3)
Range(x).Select
End Sub
Zu Intergrieren des Makros:
Alt+F11 drücken öffnet den VB-Editor, mit Einfügen - Modul fügst du ein "Modul1" ein und da kopierst du obigen Code rein.
Jetzt kannst du, nachdem du den VB-Editor wieder geschlossen hast unter Extras-Makro-Makros (oder kurz Alt+F8) das Makro "Jede_zweite_Zeile_markieren" ausführen.
Die Markierung beginnt in der ersten Zeile
Wenn du
Selection.ClearContents
nach
Range(x).Select
einfügst, werden die markierten Zeilen automatisch gelöscht.
Gruß
cmkatz
Antwort 2 von Arnim
Hallo Trudi,
es geht auch mit "Bedingter Formatierung".
Nehmen wir an, Du willst im Bereich von A5 bis H3000 jede 2.Zeile markieren.
1) Drücke Funktionstaste F5 (Gehe zu) und schreibe unter Verweis H3000
2) Schreibe in die Zelle H3000 z.B. eine 1.
3) Springe zu A5, drücke "Strg"+"Shift"+"Ende"; der Bereich ist nun markiert.
4) Wähle "Format"-"Bedingte Formatierung"
5) Wähle "Formel ist" (kl. Pfeil) und schreibe diese Formel rein:
=REST(ZEILE();2)=0
6) Wähle ein Muster aus und klicke OK.
Gruß Arnim
es geht auch mit "Bedingter Formatierung".
Nehmen wir an, Du willst im Bereich von A5 bis H3000 jede 2.Zeile markieren.
1) Drücke Funktionstaste F5 (Gehe zu) und schreibe unter Verweis H3000
2) Schreibe in die Zelle H3000 z.B. eine 1.
3) Springe zu A5, drücke "Strg"+"Shift"+"Ende"; der Bereich ist nun markiert.
4) Wähle "Format"-"Bedingte Formatierung"
5) Wähle "Formel ist" (kl. Pfeil) und schreibe diese Formel rein:
=REST(ZEILE();2)=0
6) Wähle ein Muster aus und klicke OK.
Gruß Arnim
Antwort 3 von cmkatz
Hallo Arnim,
hier nochmal die Anfrage von Trudi:
Da hilft leider ein definiertes Muster nicht viel. ;-)
Gruß
cmkatz
hier nochmal die Anfrage von Trudi:
Zitat:
gibt es eine Möglichkeit jede 2 Zeile einer Tabelle automatisch zu Markieren und zu löschen?
gibt es eine Möglichkeit jede 2 Zeile einer Tabelle automatisch zu Markieren und zu löschen?
Da hilft leider ein definiertes Muster nicht viel. ;-)
Gruß
cmkatz
Antwort 4 von Arnim
Hallo cmkatz,
da hast Du allerdings Recht! Habe wieder mal zu schnell gelesen! :-(
Gruß Arnim
da hast Du allerdings Recht! Habe wieder mal zu schnell gelesen! :-(
Gruß Arnim
Antwort 5 von Trudi
Hallo Ihr Zwei,
Vielen Dank erstmal.
Mit dem Makro kom ich weiter!
Eine Frage hab ich noch: könnt Ihr mir ein Buch, VHS Kurse oder ähnliches empfelen bei dem ich etwas über VBA, Makros und Excel lerne?
Ich arbeite zwar seit 12 Jahren mit Excel hab mir aber mein Wissen zum großteil durch ausprobieren und abgucken angeeignet. Ich würd gerne mehr wissen, kann aber mit standartd Kursen nichts mehr anfangen.
Danke Trudi
Vielen Dank erstmal.
Mit dem Makro kom ich weiter!
Eine Frage hab ich noch: könnt Ihr mir ein Buch, VHS Kurse oder ähnliches empfelen bei dem ich etwas über VBA, Makros und Excel lerne?
Ich arbeite zwar seit 12 Jahren mit Excel hab mir aber mein Wissen zum großteil durch ausprobieren und abgucken angeeignet. Ich würd gerne mehr wissen, kann aber mit standartd Kursen nichts mehr anfangen.
Danke Trudi
Antwort 6 von Trudi
Hallo Nochmal,
Ich hab gerade ein Problem mit dem Makro bekommen!!
Das Makro funktioniert bei kleineren Tabellen hervorragen, aber bei einer zahl von über 30 (legt mich nicht auf die genaue anzahl fest) erscheint folgender Fehler:
Laufzeitfehler "1004"
Die methode 'Range' für das Objekt '_Global' ist fehlgeschlagen
könnt Ihr mir sagen woran es hier scheitert?
Gruß
Trudi
Ich hab gerade ein Problem mit dem Makro bekommen!!
Das Makro funktioniert bei kleineren Tabellen hervorragen, aber bei einer zahl von über 30 (legt mich nicht auf die genaue anzahl fest) erscheint folgender Fehler:
Laufzeitfehler "1004"
Die methode 'Range' für das Objekt '_Global' ist fehlgeschlagen
könnt Ihr mir sagen woran es hier scheitert?
Gruß
Trudi
Antwort 7 von Guenter
Hallo,
ich nehme an, der Betrag von x wird zu groß.
Du kannst mal folgendes Makro probieren:
Das sollte gehen.
Markierungen werden zu Deiner ersten Markierung hinzugenommen, so wie mit gedrückter Strg-Taste.
So wie von cmkatz geschrieben, kannst Du ein Löschen einfügen.
Achtung, das Makro läuft recht langsam.
Gruß
Günter
ich nehme an, der Betrag von x wird zu groß.
Du kannst mal folgendes Makro probieren:
Sub test()
For n = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 2
Union(Selection, Rows(n)).Select
Next n
End Sub
Das sollte gehen.
Markierungen werden zu Deiner ersten Markierung hinzugenommen, so wie mit gedrückter Strg-Taste.
So wie von cmkatz geschrieben, kannst Du ein Löschen einfügen.
Achtung, das Makro läuft recht langsam.
Gruß
Günter
Antwort 8 von Buffy
Hallo Trudi,
wenn das Markieren nicht im Vordergrund steht,
sondern das Löschen, dann versuch mal folgendes
Macro (läuft schnell):
Gruß
Buffy
wenn das Markieren nicht im Vordergrund steht,
sondern das Löschen, dann versuch mal folgendes
Macro (läuft schnell):
Sub JedeZweiteZeileLöschen()
n = 1: m = 1
'Zeile, Spalte (Startzelle - ev. einstellen)
Cells(n, m).Select
nende = ActiveSheet.UsedRange.Rows.Count
For i = n To nende
ActiveCell.Offset(1, 0).Select 'Zeile weiter
Selection.EntireRow.Delete 'ganze Zeile löschen
Next i
End Sub
Gruß
Buffy
Antwort 9 von Trudi
Hallo Ihr Zwei,
vielen Dank noch mal
funktioniert beides herforagend.
Liebe Grüße
Trudi
vielen Dank noch mal
funktioniert beides herforagend.
Liebe Grüße
Trudi