Jede 20. Zeile aus Excel mittels Makro auslesen
Schritt-für-Schritt-Anleitung
Um jede 20. Zeile aus einer Excel-Tabelle zu extrahieren, kannst Du ein Makro verwenden. Hier sind die Schritte:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub Jede20ZeileKopieren()
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim i As Long
Dim j As Long
Set wksQuelle = ThisWorkbook.Sheets("Tabelle1") ' Quelle Tabelle
Set wksZiel = ThisWorkbook.Sheets.Add ' Neues Blatt erstellen
j = 1
For i = 4 To wksQuelle.Cells(Rows.Count, 1).End(xlUp).Row Step 20
wksZiel.Cells(j, 1).Value = wksQuelle.Cells(i, 1).Value ' Spalte A
wksZiel.Cells(j, 2).Value = wksQuelle.Cells(i, 2).Value ' Spalte B
wksZiel.Cells(j, 3).Value = wksQuelle.Cells(i, 3).Value ' Spalte C
' ... Füge weitere Spalten hinzu bis Spalte I
j = j + 1
Next i
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Drücke ALT + F8
, wähle Jede20ZeileKopieren
und klicke auf Ausführen
.
Das Makro kopiert nun jede 20. Zeile, beginnend ab Zeile 4, in ein neues Arbeitsblatt.
Häufige Fehler und Lösungen
-
Fehler: Das Makro funktioniert nicht.
Lösung: Stelle sicher, dass die Quell-Tabelle den richtigen Namen hat (z.B. "Tabelle1"). Achte auch darauf, dass Du das Makro in einem Arbeitsbuch speicherst, das Makros unterstützt (z.B. .xlsm).
-
Fehler: Die Daten werden nicht korrekt kopiert.
Lösung: Überprüfe den Code und stelle sicher, dass die Spalten A bis I richtig referenziert sind und dass die Schleife korrekt eingestellt ist.
Alternative Methoden
Wenn Du kein Makro verwenden möchtest, kannst Du auch Formeln nutzen. Zum Beispiel:
-
In der Zelle A1 des Zielblattes:
=INDEX(Tabelle1!A:A; (ZEILE(A1)-1)*20 + 4)
-
Ziehe die Formel nach unten, um die gewünschten Zeilen zu extrahieren.
Diese Methode ist einfach, jedoch weniger flexibel bei sehr großen Datenmengen.
Praktische Beispiele
Ein Beispiel für eine Tabelle mit Daten könnte so aussehen:
A |
B |
C |
... |
I |
Text1 |
... |
... |
... |
... |
Text2 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
Text20 |
... |
... |
... |
... |
Text21 |
... |
... |
... |
... |
Wenn Du das Makro ausführst, wird das neue Blatt so aussehen:
A |
B |
C |
... |
I |
Text4 |
... |
... |
... |
... |
Text24 |
... |
... |
... |
... |
Text44 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
Tipps für Profis
- Verwendung von Variablen: Nutze Variablen für die Quell- und Zielblätter, um den Code flexibler zu gestalten.
- Fehlerbehandlung: Implementiere Error-Handling im Makro, um unerwartete Probleme zu vermeiden. Verwende
On Error Resume Next
, um den Code robuster zu machen.
- Komplexere Logik: Wenn Du weitere Bedingungen beim Kopieren hast (z.B. nur bestimmte Werte), kannst Du die If-Bedingungen im VBA-Code hinzufügen.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, wenn ich mehr oder weniger als 20 Zeilen brauche?
Du kannst die Zahl in der Step
-Anweisung des For-Loops ändern. Zum Beispiel, um jede 10. Zeile zu kopieren, ändere Step 20
in Step 10
.
2. Funktioniert das Makro in Excel 2010 und neuer?
Ja, das Makro sollte in Excel 2010 sowie in neueren Versionen wie Excel 2016 und Excel 365 problemlos funktionieren.