ich wähle in einem Blatt einen Zellenbereich aus z.B. Range(A1:G5). Darin befinden sich gesperrte und nicht gesperrte Zellen. Ich will alle Zellen löschen lassen, die nicht gesperrt sind. Wie mache ich das ?
Frohe Weihnachten
Bernhard
Dim Zelle As Range
For Each Zelle In Sheets("Tabelle1").Range("A1:G5") '---Blattname anpassen
If Zelle.Locked = False Then Zelle.ClearContents
Next Zelle
Wenn Du alle nicht gesperrten Zellen in einem bestimmten Bereich in Excel löschen möchtest, kannst Du das mit VBA (Visual Basic for Applications) tun. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Kopiere den folgenden VBA-Code in das Modul:
Dim Zelle As Range
For Each Zelle In Sheets("Tabelle1").Range("A1:G5") '---Blattname anpassen
If Zelle.Locked = False Then Zelle.ClearContents
Next Zelle
Stelle sicher, dass Du den Blattnamen ("Tabelle1") und den Zellbereich ("A1:G5") anpasst, damit sie zu Deinen Anforderungen passen.
Schließe den VBA-Editor und kehre zu Excel zurück.
Drücke ALT + F8, wähle das Makro aus und klicke auf Ausführen.
Jetzt sollten alle nicht gesperrten Zellen in dem angegebenen Bereich gelöscht sein.
Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler"
Fehler: Es passiert nichts, wenn das Makro ausgeführt wird.
Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die Filterfunktion nutzen:
Daten > Filter.Diese Methode erfordert jedoch mehr manuelle Schritte und ist weniger automatisiert als die VBA-Lösung.
Angenommen, Du hast einen Bereich von A1 bis G5 mit verschiedenen Zellen, von denen einige gesperrt sind. Mit dem oben genannten VBA-Code kannst Du schnell alle nicht gesperrten Zellen leeren, ohne sie einzeln auswählen zu müssen.
Zusätzlich kannst Du den Code anpassen, um auch andere Aktionen auszuführen, wie z.B. die Zellen zu formatieren oder Daten zu kopieren, bevor Du sie löschst.
.xlsm-Format, um sicherzustellen, dass die Makros erhalten bleiben.Range-Objekte einfügst.1. Kann ich diesen Code auch für andere Zellbereiche verwenden?
Ja, Du kannst den Zellbereich in der Range-Anweisung anpassen, um andere Bereiche zu bearbeiten.
2. Was passiert, wenn ich das Makro auf gesperrte Zellen anwende? Das Makro ignoriert gesperrte Zellen und löscht nur die Inhalte der nicht gesperrten Zellen.