Inhalte löschen außer Daten im Filter
Schritt-für-Schritt-Anleitung
Um Inhalte in Excel zu löschen und dabei die Daten im Filter beizubehalten, kannst Du eine VBA-Anweisung verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
-
Kopiere den folgenden VBA-Code und füge ihn in das Modul ein:
Sub Filter_sichtbar_loeschen()
Dim wks As Worksheet
Dim Zei_1 As Long, Zei_L As Long
Dim Spa_1 As Long, Spa_L As Long
Set wks = ActiveSheet
If MsgBox("Sollen die sichtbaren Zeilen des Autofilterbreichs gelöscht werden?", _
vbQuestion + vbOKCancel, "Gefiltere Löschen") = vbCancel Then Exit Sub
With wks
If .AutoFilterMode = True Then
If .FilterMode = True Then
With .AutoFilter.Range
Zei_1 = .Row + 1
Zei_L = .Row + .Rows.Count - 1
Spa_1 = .Column
Spa_L = .Column + .Columns.Count - 1
End With
' Sichtbare Werte im Autofilterbereich löschen
With .Range(.Cells(Zei_1, Spa_1), .Cells(Zei_L, Spa_L))
.SpecialCells(xlCellTypeVisible).Delete shift:=xlShiftUp
End With
' Alle Daten anzeigen
.ShowAllData
End If
End If
End With
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Wende einen Autofilter auf Deine Daten an.
-
Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du keine VBA-Lösung verwenden möchtest, kannst Du auch manuell filtern und löschen:
- Wende den Filter an, um die gewünschten Daten anzuzeigen.
- Markiere die Zellen, die gelöscht werden sollen, und drücke
Entf auf Deiner Tastatur.
- Entferne den Filter, um alle Daten wieder anzuzeigen.
Du kannst auch die Excel-Tastenkombination Strg + Shift + L verwenden, um den Filter schnell ein- oder auszuschalten.
Praktische Beispiele
Nehmen wir an, Du hast eine Liste von Verkäufen und möchtest alle Verkäufe unter einem bestimmten Betrag löschen, ohne die Filterdaten zu verlieren. Mit dem obigen VBA-Skript kannst Du spezifische Verkaufszahlen löschen, während die gefilterten Daten intakt bleiben.
Hier ist ein einfaches Beispiel, um den Vorgang zu veranschaulichen:
- Datenbereich: A1:C10
- Filter: Filtere nach dem Kriterium "Verkäufe > 1000".
- Makro ausführen: Nur die Zellen außerhalb des Filters werden gelöscht.
Tipps für Profis
- Schnellzugriffsleiste anpassen: Füge das Makro zur Schnellzugriffsleiste hinzu, um es schneller auszuführen.
- Makros sichern: Speichere Deine Excel-Datei als makrofähige Datei (.xlsm), um das Makro zu behalten.
- VBA-Debugging: Nutze die F8-Taste, um den Code Schritt für Schritt auszuführen und Probleme zu identifizieren.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass das Makro funktioniert?
Stelle sicher, dass der Autofilter aktiv ist und dass Du im richtigen Bereich arbeitest. Das Makro funktioniert nur, wenn der Filter korrekt gesetzt ist.
2. Was tun, wenn das Makro meine Daten nicht löscht?
Überprüfe die Filtereinstellungen und stelle sicher, dass Du die korrekten Zellen ausgewählt hast. Wenn Du mit einer Tabelle arbeitest, verwende die angepasste Makroversion.