Zeilen in Excel mittels VBA kopieren ohne ausgeblendete Zeilen
Schritt-für-Schritt-Anleitung
Um in Excel ausgeblendete Zeilen nicht zu kopieren, kannst du folgendes VBA-Skript verwenden. Dieses Skript kopiert nur die sichtbaren Zellen und ignoriert die ausgeblendeten:
-
Ö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 einzufügen.
-
Füge den folgenden Code in das Modul ein:
Sub KopiereOhneAusgeblendeteZeilen()
Dim wsQuell As Worksheet
Dim wsZiel As Worksheet
Dim rngZuKopieren As Range
Dim rngZiel As Range
Set wsQuell = ThisWorkbook.Sheets("Tabelle1")
Set wsZiel = ThisWorkbook.Sheets("Export")
Set rngZuKopieren = wsQuell.Range("B2:B10000").SpecialCells(xlCellTypeVisible)
Set rngZiel = wsZiel.Range("A4")
rngZuKopieren.Copy rngZiel
End Sub
-
Schließe den VBA-Editor und kehre zu deinem Excel-Dokument zurück.
-
Drücke Alt + F8
, um das Makro auszuführen und wähle KopiereOhneAusgeblendeteZeilen
.
Dieses Skript sorgt dafür, dass nur die sichtbaren Zeilen kopiert werden und die ausgeblendeten Zeilen nicht in die Ziel-Tabelle gelangen.
Häufige Fehler und Lösungen
Alternative Methoden
Eine andere Möglichkeit, Excel-Daten ohne ausgeblendete Zeilen zu kopieren, ist das Verwenden der Filterfunktion:
- Wende den AutoFilter auf die Daten in „Tabelle1“ an.
- Wähle die gewünschten Daten aus und kopiere sie (Rechtsklick > Kopieren).
- Füge die Daten in die „Export“-Tabelle ein.
Diese Methode funktioniert gut, ist jedoch manuell und weniger flexibel als das VBA-Skript.
Praktische Beispiele
Angenommen, du hast eine Tabelle mit Verkaufsdaten und möchtest nur die sichtbaren Zeilen kopieren. Verwende das VBA-Skript, um nur die Verkäufe anzuzeigen, die nicht durch einen Filter ausgeblendet sind.
Ein Beispiel für einen Anwendungsfall könnte sein, wenn du bei einer Bestandsaufnahme nur die Produkte kopieren möchtest, die in der aktuellen Sicht sichtbar sind.
Tipps für Profis
- Nutze die
If...Then
-Bedingung in deinem VBA-Skript, um zusätzliche Logik hinzuzufügen, z. B. nur Produkte mit einem Mindestbestand zu kopieren.
- Du kannst das Skript so anpassen, dass es auch mehrere Spalten gleichzeitig kopiert, indem du die
Union
-Funktion verwendest.
Hier ist ein Beispiel für das Kopieren mehrerer Spalten:
Set rngZuKopieren = Union(wsQuell.Range("B2:B10000"), wsQuell.Range("L2:L10000")).SpecialCells(xlCellTypeVisible)
FAQ: Häufige Fragen
1. Wie kann ich verhindern, dass bestimmte Spalten kopiert werden?
Du kannst das VBA-Skript anpassen, indem du nur die gewünschten Spalten in rngZuKopieren
einfügst.
2. Ist diese Methode in allen Excel-Versionen anwendbar?
Ja, das Skript funktioniert ab Excel 2007 und höher, solange die Makros aktiviert sind.