Supportnet Computer
Planet of Tech

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:


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

Antwort 3 von cmkatz

Hallo Arnim,

hier nochmal die Anfrage von Trudi:

Zitat:

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

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

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

Antwort 7 von Guenter

Hallo,

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: