Zeilen mit bestimmten Inhalt in Excel verschieben
Schritt-für-Schritt-Anleitung
Um Zeilen mit einem bestimmten Inhalt, wie beispielsweise "Storno", in Excel per VBA zu verschieben, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:
-
Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Erstelle ein neues Modul, indem du mit der rechten Maustaste auf „VBAProject (deinDateiname)“ klickst und „Einfügen“ > „Modul“ wählst.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub VerschiebeZeilen()
Dim iSpalte As Integer, rngStorno As Range, rngC As Range
With Sheets("Daten")
iSpalte = Application.Match("Bemerkung", .Rows(1), 0)
For Each rngC In .Range(.Cells(2, iSpalte), .Cells(Rows.Count, iSpalte).End(xlUp))
If rngC = "Storno" Then
If rngStorno Is Nothing Then
Set rngStorno = rngC
Else
Set rngStorno = Union(rngStorno, rngC)
End If
End If
Next
End With
If Not rngStorno Is Nothing Then
With rngStorno.EntireRow
.Copy Sheets("Ablage").Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Delete
End With
End If
End Sub
-
Schließe den VBA-Editor und rufe das Makro mit ALT + F8 auf. Wähle VerschiebeZeilen und klicke auf „Ausführen“.
Diese Schritte helfen dir, alle Zeilen, die in der Spalte "Bemerkung" den Inhalt "Storno" haben, zu verschieben.
Häufige Fehler und Lösungen
-
Laufzeitfehler 13: Dieser Fehler kann auftreten, wenn der Suchbegriff nicht korrekt ist. Stelle sicher, dass die Zeile im Match-Befehl so aussieht:
iSpalte = Application.Match("Bemerkung", .Rows(1), 0)
-
Spalte nicht gefunden: Wenn die Spalte "Bemerkung" nicht gefunden wird, überprüfe den Spaltenkopf in Zeile 1 und dessen Schreibweise.
-
Leere Zellen: Achte darauf, dass in der Spalte "Bemerkung" keine leeren Zellen vorhanden sind, da dies zu unerwarteten Ergebnissen führen kann.
Alternative Methoden
Neben VBA kannst du auch mit Excel-Formeln arbeiten, um Daten zu filtern und zu verschieben. Eine Möglichkeit ist, die Filter-Funktion zu nutzen:
- Wähle das gesamte Datenblatt aus.
- Gehe zu „Daten“ > „Filter“.
- Setze den Filter auf die Spalte "Bemerkung" und wähle "Storno" aus.
- Kopiere die gefilterten Zeilen und füge sie in das Blatt "Ablage" ein.
Diese Methode ist weniger automatisiert, eignet sich aber für kleinere Datensätze.
Praktische Beispiele
Angenommen, du hast folgende Datensätze in deinem Blatt „Daten“:
| ID |
Bemerkung |
| 1 |
Storno |
| 2 |
Verkauf |
| 3 |
Storno |
Nach Ausführung des Makros wird die Tabelle im Blatt „Ablage“ so aussehen:
| ID |
Bemerkung |
| 1 |
Storno |
| 3 |
Storno |
Die Zeilen mit „Storno“ wurden erfolgreich verschoben.
Tipps für Profis
- Code anpassen: Du kannst den Code leicht anpassen, um nach anderen Inhalten zu suchen, indem du einfach den String "Storno" änderst.
- Ereignisgesteuertes Makro: Du kannst das Makro automatisch ausführen lassen, wenn du Daten importierst, indem du das Makro in das entsprechende Ereignis, wie
Workbook_Open, einfügst.
- Sicherungskopien erstellen: Erstelle immer eine Sicherung deines Arbeitsblattes, bevor du Makros ausführst, um Datenverlust zu vermeiden.
FAQ: Häufige Fragen
1. Kann ich das Makro in einer älteren Excel-Version verwenden?
Ja, der VBA-Code sollte in den meisten Excel-Versionen ab Excel 2007 funktionieren.
2. Was passiert, wenn mehrere Spalten "Bemerkung" existieren?
Das Makro sucht immer nur nach der ersten gefundenen Spalte mit dem Namen "Bemerkung". Stelle sicher, dass der Name eindeutig ist.