wie kann ich bedingte Formatierungen vor Copy and Paste/ Drag&Drop schützen?
Option Explicit
Public rng, rng2(50)
Das kommt ins zu schützende blatt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n
For n = 1 To rng.FormatConditions.Count
If Not Intersect(Target, rng2(n)) Is Nothing Then
With rng.FormatConditions(n)
.ModifyAppliesToRange (rng2(n))
End With
End If
Next n
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n, x
Set rng = Range(Cells(1, 1), Cells(1000, 1000))
x = rng.FormatConditions.Count
For n = 1 To x
With rng.FormatConditions(n)
Set rng2(n) = .AppliesTo
End With
Next n
End Sub
Public rng, rng2(20, 10)
Das in jedes zu schützende blatt:Private Sub Worksheet_Change(ByVal Target As Range)
Dim n, i
i = ActiveSheet.Index
For n = 1 To rng.FormatConditions.Count
If Not Intersect(Target, rng2(i, n)) Is Nothing Then
With rng.FormatConditions(n)
.ModifyAppliesToRange (rng2(i, n))
End With
End If
Next n
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n, x, i
i = ActiveSheet.Index
Set rng = Range(Cells(1, 1), Cells(1000, 1000))
x = rng.FormatConditions.Count
For n = 1 To x
With rng.FormatConditions(n)
Set rng2(i, n) = .AppliesTo
End With
Next n
End Sub
Um die bedingte Formatierung zu schützen, ohne die Eingabe in den Zellen zu verhindern, kannst du folgende Schritte ausführen:
Zellen vorbereiten:
Blattschutz aktivieren:
VBA-Code einfügen:
ALT + F11
).Option Explicit
Public rng, rng2(50)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n
For n = 1 To rng.FormatConditions.Count
If Not Intersect(Target, rng2(n)) Is Nothing Then
With rng.FormatConditions(n)
.ModifyAppliesToRange (rng2(n))
End With
End If
Next n
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n, x
Set rng = Range(Cells(1, 1), Cells(1000, 1000))
x = rng.FormatConditions.Count
For n = 1 To x
With rng.FormatConditions(n)
Set rng2(n) = .AppliesTo
End With
Next n
End Sub
Bereiche anpassen:
Fehler: Bedingte Formatierung wird nicht geschützt.
Fehler: Eingaben in gesperrte Zellen sind nicht möglich.
Wenn du die Excel bedingte Formatierung sperren möchtest, gibt es auch andere Ansätze:
Zellenformatierung manuell anwenden: Anstatt VBA zu verwenden, kannst du die bedingte Formatierung direkt auf die Zellen anwenden und dann den Blattschutz aktivieren.
Makros verwenden: Du kannst Makros erstellen, die bei bestimmten Aktionen (z.B. beim Öffnen der Datei) die Formatierung zurücksetzen.
Beispiel 1: Du möchtest doppelte Einträge in einer Liste rot markieren, aber verhindern, dass diese Formatierung überschrieben wird. Verwende den oben beschriebenen VBA-Code, um die Formatierung zu schützen.
Beispiel 2: Wenn du eine Tabelle hast, in der die Wochenendtage eine spezielle Formatierung haben sollen, kannst du die bedingte Formatierung für diese Tage festlegen und den Blattschutz aktivieren.
Überlege, die bedingte Formatierung in Excel festzusetzen, bevor du den Blattschutz aktivierst. Dies hilft, versehentliche Änderungen zu vermeiden.
Nutze benannte Bereiche für die Zellen, die du schützen möchtest. Dies erleichtert die Verwaltung deiner Formate und die Anwendung von VBA.
Teste deine Einstellungen in einer Kopie der Arbeitsmappe, um sicherzustellen, dass alles wie gewünscht funktioniert, bevor du die Änderungen in der Originaldatei vornimmst.
1. Kann ich die bedingte Formatierung auch für mehrere Blätter gleichzeitig schützen? Ja, du kannst den VBA-Code so anpassen, dass er für mehrere Blätter funktioniert, indem du die Indizes der Blätter speicherst.
2. Was passiert, wenn ich die Formatierung überschreiben möchte? Du kannst die bedingte Formatierung überschreiben, indem du den Blattschutz vorübergehend aufhebst, die Änderungen vornimmst und den Schutz dann wieder aktivierst.
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