Tutorial: VBA-Makro-Button zum Löschen bestimmter Zellbereiche (Alle Blätter & Formatierung beibehalten)
Hier ist ein ausführliches Tutorial auf Deutsch, das dir Schritt für Schritt zeigt, wie du ein Makro erstellst, um bestimmte Zellbereiche auf allen Tabellenblättern zu leeren, ohne die Formatierung zu löschen.
In diesem Tutorial lernst du, wie du ein Makro erstellst, das auf Knopfdruck vordefinierte Bereiche (z. B. Eingabefelder) in deiner gesamten Excel-Arbeitsmappe leert. Dabei bleiben Farben, Rahmen und Schriftarten erhalten.
Schritt 1: Die Registerkarte „Entwicklertools“ aktivieren
Falls du die Registerkarte Entwicklertools oben im Menüband noch nicht siehst:
- Mache einen Rechtsklick auf eine beliebige Stelle im Menüband (Ribbon).
- Wähle Menüband anpassen....
- Setze auf der rechten Seite einen Haken bei Entwicklertools.
- Bestätige mit OK.
Schritt 2: Den VBA-Editor öffnen und das Makro schreiben
- Klicke auf die Registerkarte Entwicklertools und dann ganz links auf Visual Basic (oder drücke
ALT+F11). - Gehe im Menü auf Einfügen > Modul.
- Kopiere den folgenden Code und füge ihn in das weiße Fenster ein:
Sub SpezifischeZellenLeeren()
Dim ws As Worksheet
' Bestätigungsfenster (optional, verhindert versehentliches Löschen)
If MsgBox("Möchten Sie alle Eingabefelder in allen Blättern leeren?", vbQuestion + vbYesNo, "Inhalte löschen") = vbNo Then
Exit Sub
End If
' Loop durch alle Tabellenblätter
For Each ws In ThisWorkbook.Worksheets
' Hier definierst du die Bereiche, die geleert werden sollen
' Wichtig: Benutze .ClearContents, um nur den Text/Werte zu löschen.
' Die Formatierung (Farben, Rahmen) bleibt so erhalten.
On Error Resume Next ' Verhindert Fehler, falls ein Blatt geschützt ist
ws.Range("B2:D10, F5, H10:I20").ClearContents
On Error GoTo 0
Next ws
MsgBox "Die ausgewählten Bereiche wurden geleert!", vbInformation, "Fertig"
End Sub
Anpassung: Ändere den Bereich "B2:D10, F5, H10:I20" im Code einfach in die Zellbereiche ab, die du tatsächlich leeren möchtest. Trenne verschiedene Bereiche einfach mit einem Komma.
Schritt 3: Den Button in Excel erstellen
- Gehe zurück zu deinem Excel-Arbeitsblatt.
- Gehe auf Entwicklertools > Einfügen.
- Wähle unter den „Formularsteuerelementen“ das erste Symbol aus (Schaltfläche).
- Zeichne mit der Maus einen Button auf dein Blatt.
- Sofort öffnet sich ein Fenster „Makro zuweisen“. Wähle hier das Makro SpezifischeZellenLeeren aus und klicke auf OK.
Schritt 4: Den Button beschriften
- Klicke mit der rechten Maustaste auf den Button und wähle Text bearbeiten.
- Schreibe einen Namen darauf, z. B. „Eingaben löschen“ oder „Reset“.
- Klicke irgendwo in eine leere Zelle, um die Bearbeitung des Buttons abzuschließen.
Schritt 5: Die Datei richtig speichern
Damit das Makro erhalten bleibt, darfst du die Datei nicht als normale .xlsx speichern.
- Gehe auf Datei > Speichern unter.
- Wähle als Dateityp *Excel-Arbeitsmappe mit Makros (.xlsm)** aus.
Tipps für Fortgeschrittene:
- Bestimmte Blätter ausschließen: Wenn du ein Blatt (z.B. "Dashboard") vom Löschen ausschließen willst, ändere den Loop im Code so ab:
For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Dashboard" Then ws.Range("B2:D10").ClearContents End If Next ws - Nur das aktuelle Blatt: Wenn du nur das Blatt leeren willst, auf dem du dich gerade befindest, lösche den
For Each-Loop und ersetzews.RangedurchActiveSheet.Range.
Fertig! Wenn du nun auf den Button klickst, werden in allen Tabellenblättern die Inhalte der definierten Zellen gelöscht, während dein Design (Formatierung) perfekt erhalten bleibt.