Note: The other languages of the website are Google-translated. Back to English

Wie sperre oder entsperre ich Zellen basierend auf Werten in einer anderen Zelle in Excel?

In einigen Fällen müssen Sie möglicherweise Zellen basierend auf Werten in einer anderen Zelle sperren oder entsperren. Beispielsweise muss der Bereich B1: B4 entsperrt werden, wenn die Zelle A1 den Wert "Akzeptieren" enthält. und zu sperren, wenn Zelle A1 den Wert "Ablehnen" enthält. Wie können Sie dies erreichen? Dieser Artikel kann Ihnen helfen.

Sperren oder Entsperren von Zellen basierend auf Werten in einer anderen Zelle mit VBA-Code


Sperren oder Entsperren von Zellen basierend auf Werten in einer anderen Zelle mit VBA-Code

Mit dem folgenden VBA-Code können Sie Zellen basierend auf dem Wert in einer anderen Zelle in Excel sperren oder entsperren.

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt (das Blatt mit Zellen, die Sie basierend auf Werten in einer anderen Zelle sperren oder entsperren müssen), und klicken Sie auf Code anzeigen aus dem Kontextmenü.

2. Kopieren Sie anschließend den folgenden VBA-Code und fügen Sie ihn in das Codefenster ein.

VBA-Code: Sperren oder Entsperren von Zellen basierend auf Werten in einer anderen Zelle

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1") = "Accepting" Then
        Range("B1:B4").Locked = False
    ElseIf Range("A1") = "Refusing" Then
        Range("B1:B4").Locked = True
    End If
End Sub

3. Drücken Sie die Taste Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster.

Wenn Sie von nun an den Wert "Akzeptieren" in Zelle A1 eingeben, wird der Bereich B1: B4 entsperrt.

Bei Eingabe des Wertes „Ablehnen“ in Zelle A1 wird der angegebene Bereich B1: B4 automatisch gesperrt.


In Verbindung stehende Artikel:


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (52)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie kann eine variable Zelle gesperrt/entsperrt werden, z. B. wenn die Zelle [=INDEX(A16:L35,MATCH(W5,A16:A35,0),MATCH("PAY",A16:L16,0))] ist
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich möchte einen einfachen VBA-Befehl, den ich nicht herausfinden kann, bitte helfen Sie
Wenn Zelle A1 Balnk ist, dann ist Zelle A2 gesperrt und wenn Zelle A1 einen beliebigen Wert enthält, dann ist Zelle A2 entsperrt
Wenn Zelle A2 leer ist, ist Zelle A3 gesperrt, und wenn Zelle A2 einen beliebigen Wert enthält, ist Zelle A3 entsperrt
und so weiter so viele Zellen wie pro Anforderung in einem beliebigen Teil des Blattes.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich versuche dies zu erreichen, erhalte jedoch eine Fehlermeldung, dass VBA die Locked-Eigenschaft der Range-Klasse nicht festlegen kann, wenn das Blatt geschützt wurde. Das Aufheben des Schutzes des Blattes negiert dann die Sperrung der Zelle. Wie kann man das umgehen? Danke für jede Hilfe.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hast du dich gelöst? Ich habe das gleiche Problem
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Liebe Memo,
Bitte versuchen Sie den folgenden VBA-Code.

Privates Unterarbeitsblatt_Activate ()
Wenn nicht ActiveSheet.ProtectContents Dann
Bereich ("A1").Gesperrt = False
Range("B1:B4").Locked = False
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
Dim xRg als Bereich, xRgA als Bereich
On Error Resume Next
Application.EnableEvents = Falsch
Setze xRg = Range("B1:B4")
Setze xRgA = Range("A1")
If Intersect(Target, xRg).Adresse <> Ziel.Adresse _
Oder xRgA = "Akzeptieren" Dann
Application.EnableEvents = Wahr
Exit Sub
Elseif activeSheet.ProtectContents _
Und Intersect(Target, xRg) = Target _
Und xRgA.Value = "Refusing" Then
xrga.select
End If
Application.EnableEvents = Wahr
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sie sollten die Schnittstellenzeile in der Arbeitsmappe verwenden, damit beim Öffnen der Datei die Blätter geschützt werden, Makros jedoch trotzdem Änderungen vornehmen können.

Private Sub Workbook_Open() 'Das geht in "ThisWorkbook"

Worksheets("Bestelltool").Protect Password:="Pwd", UserInterFaceOnly:=True

End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Liebe Ameise,
Der folgende VBA-Code kann Ihnen helfen, dieses Problem zu lösen. Danke für deinen Kommentar.

Privates Unterarbeitsblatt_Activate ()
Wenn nicht ActiveSheet.ProtectContents Dann
Bereich ("A1").Gesperrt = False
Range("B1:B4").Locked = False
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
Dim xRg als Bereich, xRgA als Bereich
On Error Resume Next
Application.EnableEvents = Falsch
Setze xRg = Range("B1:B4")
Setze xRgA = Range("A1")
If Intersect(Target, xRg).Adresse <> Ziel.Adresse _
Oder xRgA = "Akzeptieren" Dann
Application.EnableEvents = Wahr
Exit Sub
Elseif activeSheet.ProtectContents _
Und Intersect(Target, xRg) = Target _
Und xRgA.Value = "Refusing" Then
xrga.select
End If
Application.EnableEvents = Wahr
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ist es möglich, dass diese VBA basierend darauf einen Satz von Zellen sperrt / einen anderen entsperrt? Zum Beispiel ist Bereich B1:B4 entsperrt und C1:C4 ist gesperrt für "Annehmen" und dann ist B1:B4 gesperrt und C1:C4 ist entsperrt für "Ablehnen"?


Vielen Dank,
Christian
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Lieber Christian,
Ist Ihr Arbeitsblatt geschützt?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
bitte kann mir jemand bei folgendem helfen.
Ich möchte Bilder von Schülern in ein Blatt einfügen, die in einem anderen Blatt basierend auf ihren Namen angezeigt werden
Erstellen einer Navigationsebene zur Unterstützung der Benutzer
Um einem Benutzer ein oder mehrere bestimmte Blätter zuzuweisen
So erstellen Sie eine Schnittstelle für die Arbeitsmappe
So erstellen Sie eine Anmeldeseite
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Lieber Löwe,
Wenn Sie Fragen zu Excel haben, zögern Sie bitte nicht, in unserem Forum zu posten: https://www.extendoffice.com/forum.html.
Weitere Unterstützung zu Excel erhalten Sie von unserem Excel-Profi.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ich habe Ihren Code ausprobiert und ein wenig bearbeitet, aber ich kann nicht herausfinden, was ich hier falsch mache?

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
If Range("A40") <> "" Then
Range("D40:E40").Locked = False
ElseIf Range("A40") = "" Then
Range("D40:E40").Locked = True
End If
End Sub


Mein Gedanke war, wenn nichts drin ist (A40). Dann möchte ich per VBA gesperrt werden. Wenn A40 etwas enthält, möchte ich, dass es freigeschaltet wird. Ich hoffe, Sie können den Sinn dahinter erkennen.


Gruß Kristoffer
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Guten Tag,
An deinem Code ist nichts falsch. Es funktioniert gut für mich.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi. Ich kann diesen Code auch nicht zum Laufen bringen. Es bringt absolut nichts. Als ob der Code gar nicht da wäre?? Ich bin sehr neu in VBA und habe ein grundlegendes Verständnis dafür. Wird dieser Code so ausgeführt, wie er ist, oder müssen ihm auch Dinge hinzugefügt werden, damit er ausgeführt werden kann? Oder in ein Makro verwandelt (was ich nicht wirklich verstehe, weil das eine Aufzeichnung von Anweisungen ist, wie ich sie verstehe)
Dieser Kommentar wurde vom Moderator auf der Website minimiert
WAS IST DER CODE, WENN ICH DIE ZELLE E1, E2, E3 SCHLIESSEN MÖCHTE ... FÜR EINEN SPEZIFISCHEN TEXT (SAGEN SIE "P") AUF ZELLE B1, B2, B3 ... ..............BZW.

Vielen Dank im Voraus
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Good Day
Bitte versuchen Sie es mit dem folgenden VBA-Skript.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn Target.Count = 1, dann
If Target.Address = Range("A1").Address And Target.Value = "A" Then
Bereich ("B1"). Gesperrt = True
ElseIf Target.Address = Range("A2").Address And Target.Value = "A" Then
Bereich ("B2"). Gesperrt = True
ElseIf Target.Address = Range("A3").Address And Target.Value = "A" Then
Bereich ("B3"). Gesperrt = True
End If
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Guten Tag!
Мне тоже необходимо заблокировать значение, но только в одной ячейке в зависимости от значения в другой, я попробовала использовать код в комментарии выше, но он не работает(оставила только один параметр для блокировки), но он у меня не работает - при этом нет сообщения об ошибке, ячейка, которая должна быть заблокирована - просто не блокируется, остается активной. В чем может быть причина?

Вот код, который я использовала:

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn Target.Count=1 Then
If Target.Address = Range("C9").Address And Target.Value = "согласно плану" Then
Bereich ("C10"). Gesperrt = True
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Geist,
tut mir leid ich verstehe nicht ganz was du meinst. Zur Verdeutlichung fügen Sie bitte eine Beispieldatei oder einen Screenshot mit Ihren Daten und gewünschten Ergebnissen bei.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi! brauche einen Rat.
Gibt es eine Möglichkeit, eine Zelle nicht zu aktualisieren, es sei denn, sie hat eine Bedingung für eine andere Zelle erfüllt?
Beispiel: Wenn die Zelle A nicht aktualisiert wird, kann ich den Wert der Zelle B nicht ändern, um sie abzuschließen.

Schätzen Sie das Feedback.
Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Liebe Margie,
Bitte versuchen Sie es mit dem folgenden VBA-Code.

Dim PreVal als Zeichenfolge
Dim NextVal als Zeichenfolge
Privates Unterarbeitsblatt_Activate ()
PreVal = Bereich ("A1")
NextVal = Range("A1")
End Sub
Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
If (Target.Count = 1) And (Target.Address = "$A$1") Then
NextVal = Range("A1")
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
Wenn Target.Count = 1, dann
If Target.Address = "$A$1" Then
PreVal = Bereich ("A1")
ElseIf (Target.Address = "$B$1") Then
Wenn PreVal = NextVal Then
Application.EnableEvents = Falsch
Bereich ("A1").Auswählen
Application.EnableEvents = Wahr
End If
End If
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
kann das jemand korrigieren bitte>>>

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Für i = 7 Um 100
If Range("Cells(D, i)") = "Loan" Then
Range("Cells(V, i):Cells(X, i)").Locked = True
ElseIf Range("Cells(D, i)") = "Savings" Then
Range("Cells(Q, i):Cells(U, i)").Locked = True
Range("Cells(W, i):Cells(X, i)").Locked = True
ElseIf Range("Cells(D, i)") = "ShareCap" Then
Range("Cells(Q, i):Cells(U, i)").Locked = True
Range("Cells(V, i)").Locked = True
End If
Weiter ich
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi! Kann mir jemand helfen? Ich muss eine Zelle sperren/einfrieren. Diese Zelle ist mit einer anderen verknüpft und hat einen Wert, der sich jede Minute ändert. Was ich tun soll, ist, den Wert für eine bestimmte Minute/Stunde zu halten. Wie kann ich das tun, ohne es zu kopieren und als Wert einzufügen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Liebe Mira,
Leider kann ich Ihnen dabei nicht helfen, Sie können Ihre Frage in unserem Forum stellen: https://www.extendoffice.com/forum.html um mehr Excel-Unterstützung von unserem Fachmann zu erhalten.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Ich bin wirklich neu darin.
Ich habe versucht, ein Rechnungssystem in Excel zusammenzustellen.
Ich habe 3 Blätter erstellt.
1. Rechnungsvorlage (Rechnung) – Nur eine allgemeine Rechnung, die wöchentlich an meine Agenten gesendet wird.

2. Ein Datenblatt (Datenblatt), um genau zu sein - wo die Rechnung den Firmennamen, die Adresse usw. lesen kann, so dass, wenn sich etwas ändert, die Rechnung automatisch aktualisiert wird.

3. Eine Kalenderregisterkarte (Kalender 2018), um genau zu sein – die in der Rechnungsvorlage referenziert wird und das entsprechende Datum und die Rechnungsnummer auf die eigentlichen Rechnungen setzt.

Was ich machen will; was ich vorhabe zu tun.
Die Registerkarte "Kalender" wäre meine Hauptseite, ich habe für jede Woche eine Status-Dropdown-Zelle mit den Optionen "Aktiv" und "Geschlossen" hinzugefügt. Ich möchte die gesamte Registerkarte "Rechnung" sperren, wenn die entsprechende Zelle auf "Geschlossen" gesetzt ist.

Ich hoffe ihr versteht was ich versuche zu tun.
Vielen Dank im Voraus.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Lieber Ando Veres.
Der folgende VBA-Code kann Ihnen helfen. Bitte fügen Sie den Code in das Blattcodefenster von Kalender 2018 ein und ändern Sie A1 in Ihre Dropdown-Zelle. Danke.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Dim xRg als Bereich
On Error Resume Next
Setze xRg = Intersect(Target, Range("A1"))
Wenn xRg nichts ist, dann beenden Sie Sub
Wenn Target.Validation.Type >= 0 Then
If Target.Value = "Closed" Then
Sheets("Datenblatt").Protect
ElseIf xRg.Value = "Aktiv" Then
Sheets("Datenblatt").Schutz aufheben
End If
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich bereite eine Lagerbestandsverwaltung in Excel-Vorlage vor. Um einen Bestand zu liefern, muss ich einen Torpass ausstellen. Ich möchte zu jedem Torpass, entsprechende Daten werden auf der täglichen Bestandsseite aktualisiert Zeile wird gesperrt und die nächste wird aufgefüllt.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Guten Tag,
Wäre nett, wenn du deine Arbeitsmappe hier hochladen könntest. Danke für deinen Kommentar.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Können Sie mir bitte sagen, was hier falsch ist? Vielen Dank im Voraus.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn Range("K:K") = "ÜBER LAGER" dann
Range("S:S").Locked = True
ElseIf Range("K:K") = "SLOW MOVING" Then
Range("S:S").Locked = True
ElseIf Range("K:K") = "NORMAL" Then
Range("S:S").Locked = False
ElseIf Range("K:K") = "MANGEL" Then
Range("S:S").Locked = False
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Würden Sie mir freundlicherweise einen Rat geben, wie ich das korrigieren kann? Vielen Dank im Voraus.

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
Wenn Range("A:A") = "SLOW MOVING" Then
Range("B:B").Locked = True
ElseIf Range("A:A") = "ÜBER LAGER" Then
Range("B:B").Locked = True
ElseIf Range("A:A") = "NORMAL" Then
Range("B:B").Locked = False
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Da ich kein VB-Experte bin, würde ich sagen, dass Sie zu viele "Elseif" haben - wenn Sie sie alle auf nur IF ändern, mit Ausnahme des letzten, dann wird das hoffentlich funktionieren.
Grundsätzlich: Wenn X dies tut, wenn Y dies tut, wenn Z dies tut, wenn keines von diesen - tu dies.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie wäre der Code, wenn ich einen Zellenblock (Zeilen 6, 7 und 8/Buchstaben D bis U sowie die Zellen F5 und J5) sperren und entsperren möchte, wenn ich ein „X“ in Zelle E5 setze? Danke im Voraus!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo MitchyII,
Meinen Sie damit, dass der angegebene Zellenblock im Voraus manuell gesperrt wurde und Sie ihn nur entsperren möchten, indem Sie in Zelle E5 ein "X" eingeben?
Wenn Sie "X" aus Zelle E5 entfernen, möchten Sie die Bereiche erneut sperren?
Ich brauche mehr Details zum Problem.
Danke für deinen Kommentar.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Mitchyll (oder irgendjemand sonst), Aufbau von Crystal. Ich habe alle Zellen manuell gesperrt und basierend auf den Informationen in Spalte G möchte ich, dass sie gesperrt bleiben oder entsperrt werden. Beispielzellen in Spalte H sollten NUR entsperrt werden, wenn „c/p“ in der vorhergehenden Zelle in Spalte G platziert ist
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ist es möglich, eine Zelle zu sperren, wenn sie einen bestimmten Wert erreicht?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, könnten Sie bitte den Grund dafür finden, warum es nicht funktioniert?

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)
If Range("A3:A37").Value <> "" Then
Range("B3:B37").Locked = True
ElseIf Range("A3:A37") = "" Then
Range("B3:B37").Locked = False
End If

If Range("B3:B37").Value <> "" Then
Range("A3:A37").Locked = True
ElseIf Range("B3:B37") = "" Then
Range("A3:A37").Locked = False
End If

End Sub


Vielen Dank im Voraus!!!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hi
Ich habe gerade versucht, den Code oben zu verwenden
und es sagt Typ 13 Fehler, wenn ich versuche, es zu benutzen.
könntest du mir dabei helfen?

Danke
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,
Welche Excel-Version verwendest du?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
hi

wenn ich eine Zelle auf Blatt 2 (Zelle C4) aufgrund einer Forderung aus Blatt 1 (Zelle C1) sperren muss,
wenn „nein“ auf Blatt 1 C4; Blatt 2 muss gesperrt sein und den Wert von Blatt 1 C4 übernehmen,
zu Blatt 2 C4.

wenn "Ja" auf Blatt 1, muss ich in der Lage sein, die Zelle auf Blatt 2 einzugeben

Danke Benthe
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, bitte hilft mir jemand für den VBA-Code.

Wenn ich aus der Dropdown-Liste in der Zelle Range (A1: A1000) "abc" auswähle, dann nicht Range (D1: D1000) bis (F1: F1000) sperren



Wenn ich aus der Dropdown-Liste in der Zelle Range (A1: A1000) "abc" auswähle, dann nicht Range (D1: D1000) bis (F1: F1000) sperren



Wenn ich aus der Dropdown-Liste in der Zelle Range (A1: A1000) "abc" auswähle, dann sperre Range (D1: D1000) bis (F1: F1000)



dh jeweilige Zelle A1 für D1 bis F1



A2 für D2 bis F2
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe alles von oben in ein Blatt kopiert. Es hat eine Sekunde lang funktioniert und jetzt erhalte ich die Fehlermeldung „Unable to set the Locked property of the Range class“. Ich habe sogar ein ganz neues Blatt geöffnet und Ihr Beispiel wörtlich kopiert. Irgendeine Ahnung, was los ist?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ich brauche deine Gunst. Wenn ich in einer Zelle keine Option auswähle, möchte ich, dass die folgenden Spalten gesperrt/ausgegraut werden.

Ist das möglich? Ich habe diese Formel ausprobiert, aber es hat nicht funktioniert

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)

Wenn Range("D90") = "Yes" Then

Range("C94:F104").Locked = False

ElseIf Range("D90") = "Nein" Then

Range("C94:F104").Locked = True

End If

End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Steffi,
Der Code funktioniert gut.
Wenn Sie den Zellbereich sperren möchten, um eine Bearbeitung zu verhindern, müssen Sie das Arbeitsblatt manuell schützen, nachdem Sie die Option „Nein“ in D90 ausgewählt haben.
Und da D90 im Bereich C94:F104 liegt, kann D90 nach dem Schützen des Arbeitsblatts auch nicht bearbeitet werden.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
D90 ist nicht im Sortiment. Es ist 4 Zeilen über C94
Es sind noch keine Kommentare vorhanden
Mehr laden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL