Makro zum Löschen bestimmter Spalten in Excel
Schritt-für-Schritt-Anleitung
Um ein Makro zu erstellen, das bestimmte Spalten in Excel löscht, folge diesen Schritten:
-
Ö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.
-
Kopiere und füge den folgenden Code in das Modul ein:
Sub Test()
Dim KillSpalten As Range, rngTmp As Range
Dim ArBegriffe() As Variant
ArBegriffe = Array("Tiefe", "Breite", "Alter")
For Each oWSh In ActiveWorkbook.Worksheets
Set KillSpalten = Nothing
For Each rngTmp In oWSh.UsedRange.Rows(1).Cells
If Not IsNumeric(Application.Match(rngTmp.Value, ArBegriffe, 0)) Then
If Not KillSpalten Is Nothing Then
Set KillSpalten = Union(rngTmp.EntireColumn, KillSpalten)
Else
Set KillSpalten = rngTmp
End If
End If
Next rngTmp
If Not KillSpalten Is Nothing Then
KillSpalten.EntireColumn.Delete
End If
Next oWSh
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, indem Du auf Entwicklertools
> Makros
klickst und das Makro Test
auswählst.
Dieses Makro löscht alle Spalten, die nicht die Begriffe „Tiefe“, „Breite“ oder „Alter“ enthalten. Es funktioniert unabhängig von den Tabellennamen und kann in allen Arbeitsblättern der geöffneten Datei angewendet werden.
Häufige Fehler und Lösungen
Alternative Methoden
Neben dem VBA-Makro kannst Du auch manuell Spalten in Excel löschen:
- Markiere die Spalten, die Du löschen möchtest.
- Klicke mit der rechten Maustaste und wähle „Löschen“ aus dem Kontextmenü.
Für eine größere Anzahl an Spalten kann das Makro jedoch deutlich schneller und effizienter sein.
Praktische Beispiele
Ein Beispiel für das Löschen von Spalten mit dem Makro ist, wenn Du eine Tabelle mit verschiedenen Messdaten hast und nur die relevanten Spalten wie „Tiefe“, „Breite“ und „Alter“ behalten möchtest. Das oben genannte Makro kann in diesem Fall sehr hilfreich sein.
Tipps für Profis
-
Verwende die Application.ScreenUpdating = False
-Anweisung, um das Aktualisieren des Bildschirms während der Ausführung des Makros zu deaktivieren. Dies kann die Ausführungsgeschwindigkeit erhöhen.
Application.ScreenUpdating = False
-
Setze die Application.ScreenUpdating = True
-Anweisung am Ende des Makros, um die Anzeige wieder zu aktivieren.
FAQ: Häufige Fragen
1. Frage
Wie kann ich das Makro für mehrere Dateien gleichzeitig ausführen?
Um das Makro auf mehrere Dateien anzuwenden, kannst Du eine Schleife einfügen, die durch alle geöffneten Arbeitsmappen iteriert und das Makro auf jede einzelne anwendet.
2. Frage
Kann ich das Makro anpassen, um mehr oder andere Begriffe zu behalten?
Ja, Du kannst die Begriffe im Array ArBegriffe
im Makro anpassen, um die gewünschten Spalten zu behalten.
3. Frage
Welches Excel-Version benötige ich, um das Makro auszuführen?
Das Makro sollte in Excel 2010 und späteren Versionen funktionieren, solange die VBA-Funktionalität verfügbar ist.