ich möchte per Makro alle nicht gesperrten Zellen in dem aktuellen Blatt auswählen und den Inhalt löschen.
Gibt es hier für eine Lösung ?
Danke.
Sub Loeschen_nicht_gesperrt()
Dim wks as Worksheet, Zelle as Range
Set wks = Activesheet
For Each Zelle in wks.Usedrange.Cells
If Zelle.Locked = False Then
Zelle.ClearContents
End if
Next
GrußSub Makro2()
Dim Z
For Each Z In Sheets("Tabelle1").Cells.SpecialCells(xlCellTypeConstants, 3)
If Z.Locked Then Z.ClearContents
Next
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0
Sub Makro2()
Dim Z
For Each Z In Sheets("Tabelle1").Cells.SpecialCells(xlCellTypeConstants, 3)
If Z.Locked = False Then Z.ClearContents
Next
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0
LG UweDSub Makro9()
Dim Z
ActiveSheet.Unprotect "jg"
For Each Z In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, 3)
If Z.Locked = False Then Z.ClearContents
Next
ActiveSheet.Protect "jg"
End Sub
dim Bereich as range
dim Zelle as range
for each Zelle in ActiveSheet.UsedRange
if Zelle.Locked = False Then
If Bereich is Nothing then
Set Bereich = Zelle
Else
Set Bereich = Union(Bereich, Zelle)
end if
end if
Next
if not Berich is Nothing then Bereich.Select
Gruß DanielSub aaa()
Dim c As Range, cs As Range
For Each c In Cells.SpecialCells(xlCellTypeConstants)
If Not c.Locked Then
If cs Is Nothing Then
Set cs = c.MergeArea
Else
Set cs = Union(cs, c.MergeArea)
End If
End If
Next
If Not cs Is Nothing Then cs.Select
End Sub
GrußUm alle nicht gesperrten Zellen in Excel auszuwählen und deren Inhalt zu löschen, kannst du ein einfaches VBA-Makro verwenden. Befolge diese Schritte:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
> Modul
, um ein neues Modul zu erstellen.
Füge den folgenden Code in das Modul ein:
Sub Loeschen_nicht_gesperrt()
Dim wks As Worksheet, Zelle As Range
Set wks = ActiveSheet
For Each Zelle In wks.UsedRange.Cells
If Zelle.Locked = False Then
Zelle.ClearContents
End If
Next
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro aus, um alle nicht gesperrten Zellen zu löschen.
Ein häufiges Problem, das auftreten kann, ist die Fehlermeldung "Kann Teil einer verbundenen Zelle nicht ändern". Dies passiert, wenn du versuchst, den Inhalt einer verbundenen Zelle zu löschen. Um dieses Problem zu beheben, kannst du den Code wie folgt anpassen:
Sub MakroMitMergeArea()
Dim Zelle As Range
For Each Zelle In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
If Not Zelle.Locked Then
Zelle.MergeArea.ClearContents
End If
Next
End Sub
Stelle sicher, dass du zuerst das Arbeitsblatt mit ActiveSheet.Unprotect "deinPasswort"
entsperrst und danach wieder mit ActiveSheet.Protect "deinPasswort"
schützt.
Falls du kein VBA verwenden möchtest, kannst du auch die Filterfunktion in Excel nutzen:
Daten
> Filter
.Hier sind einige Beispiele, wie du den Code für unterschiedliche Szenarien anpassen kannst:
Nur nicht gesperrte Zellen auswählen:
Sub Auswaehlen_nicht_gesperrt()
Dim Bereich As Range
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
If Zelle.Locked = False Then
If Bereich Is Nothing Then
Set Bereich = Zelle
Else
Set Bereich = Union(Bereich, Zelle)
End If
End If
Next
If Not Bereich Is Nothing Then Bereich.Select
End Sub
Inhalte der nicht gesperrten Zellen in einer bestimmten Tabelle löschen:
Sub Loeschen_Tabelle1()
Dim wks As Worksheet
Set wks = Sheets("Tabelle1")
For Each Zelle In wks.UsedRange
If Zelle.Locked = False Then
Zelle.ClearContents
End If
Next
End Sub
MergeArea
-Eigenschaft zu nutzen, um den gesamten Zellverbund zu bearbeiten.1. Wie kann ich die gesperrten Zellen wieder sperren?
Du kannst die Zellen einfach mit ActiveSheet.Protect "deinPasswort"
wieder sperren.
2. Was mache ich, wenn mein Makro nicht funktioniert?
Überprüfe, ob alle Zellen korrekt referenziert sind und ob das Arbeitsblatt entsperrt ist, bevor du das Makro ausführst.
3. Kann ich das Makro auch für andere Tabellen verwenden?
Ja, passe einfach den Namen des Arbeitsblatts im Code an, um das Makro für andere Tabellen zu verwenden.
4. Funktioniert das auch in Excel Online?
Die Verwendung von VBA-Makros ist in Excel Online nicht möglich. Du musst Excel auf deinem Computer verwenden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen