Office: (Office 2010) Sperren von Zellen basierend auf Werten in einer anderen Zelle

Helfe beim Thema Sperren von Zellen basierend auf Werten in einer anderen Zelle in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich brauche ein wenig "VBA-Hilfe" von den Fachleuten. Folgenden Code habe ich mit meinem Halbwissen zusammen gebastelt. Private Sub... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Micha El Alacrán, 6. Mai 2023.

  1. Micha El Alacrán
    Micha El Alacrán Neuer User

    Sperren von Zellen basierend auf Werten in einer anderen Zelle


    Hallo zusammen,
    ich brauche ein wenig "VBA-Hilfe" von den Fachleuten.
    Folgenden Code habe ich mit meinem Halbwissen zusammen gebastelt.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("G6") = "Offen" Or Range("G6") = "Splitting" Then
    Range("C6,K6,M6:R6,T6:V6").Locked = False
    ElseIf Range("G6") = "Abgeschlossen" Or Range("G6") = "Teilverkauf" Then
    Range("C6,K6,M6:R6,T6:V6").Locked = True
    End If
    If Range("G7") = "Offen" Or Range("G7") = "Splitting" Then
    Range("C7,K7,M7:R7,T7:V7").Locked = False
    ElseIf Range("G7") = "Abgeschlossen" Or Range("G7") = "Teilverkauf" Then
    Range("C7,K7,M7:R7,T7:V7").Locked = True
    End If
    If Range("G8") = "Offen" Or Range("G8") = "Splitting" Then
    Range("C8,K8,M8:R8,T8:V8").Locked = False
    ElseIf Range("G8") = "Abgeschlossen" Or Range("G8") = "Teilverkauf" Then
    Range("C8,K8,M8:R8,T8:V8").Locked = True
    End If
    If Range("G9") = "Offen" Or Range("G9") = "Splitting" Then
    Range("C9,K9,M9:R9,T9:V9").Locked = False
    ElseIf Range("G9") = "Abgeschlossen" Or Range("G9") = "Teilverkauf" Then
    Range("C9,K9,M9:R9,T9:V9").Locked = True
    End If
    End Sub

    Ziel ist es, die Zellen einer Zeile ohne Blattschutz, nach Eingabe von zwei festgelegten Begriffen ("Abgeschlossen"; "Teilverkauf"), automatisch mit einem Schutz zu sperren.
    Funktioniert auch erstmal, aber ...
    1. Durch diesen Code funktionieren die "Rückgängig" und "Wiederherstellen" Butten nicht mehr (auch nicht über Strg+Z und Strg+Y).
    Kann man diesen Fehler durch ändern des Codes beheben?
    2. In meiner Exceltabelle bin ich mittlerweile in Zeile 70.
    Gibt es eine Möglichkeit, den Code entsprechend anzupassen, dass er nicht unendlich lang wird?
    Bei einer Lösung wären eins, zwei Worte der Erklärung noch hilfreich, möchte es gerne verstehen ...

    Vielen Dank im Vorraus ...
     
    Micha El Alacrán, 6. Mai 2023
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Nein. nach Makro ist das nicht möglich.
    Prüfe ob Spalte G, da brauchst Du weniger Zeilen. Arbeite mit Offset. Range("C" & Target.row, &"K" &Target.row ,"M" & Target.row &":R" &Target.row,&"T" & ":V" & Target.row9").Locked = True

    Sperren von Zellen basierend auf Werten in einer anderen Zelle GrußformelSperren von Zellen basierend auf Werten in einer anderen Zelle Homepage
     
    Hajo_Zi, 6. Mai 2023
    #2
  3. schatzi Super-Moderator
    Moin,

    warum VBA?
    Dein Vorhaben ist auch mit einer Gültigkeitsprüfung machbar.

    Markiere deine Bereiche C6:C999,K6:K999,M6:R999,T6:V999 o.ä.
    Wähle Menü Daten > Datentools > Datenüberprüfung
    Zulassen: Benutzerdefiniert
    Formel: =($G6<>"Abgeschlossen")*($G6<>"Teilverkauf")
    (dazu muss die aktive Zelle in Zeile 6 sein, sonst die Formel entsprechend anpassen)

    Über den Reiter "Fehlermeldung" kannst du sogar noch einen Text festlegen, der gezeigt wird, falls doch jemand versucht, in den entsprechenden Zellen Einträge zu tätigen.
     
    schatzi, 6. Mai 2023
    #3
  4. Micha El Alacrán
    Micha El Alacrán Neuer User

    Sperren von Zellen basierend auf Werten in einer anderen Zelle

    Hallo Hajo,
    danke für die schnelle Antwort, ich werde mal ausprobieren, ob bzw. wie ich deine Vorschläge umsetzen kann.

    Gruß Micha
     
    Micha El Alacrán, 6. Mai 2023
    #4
  5. Micha El Alacrán
    Micha El Alacrán Neuer User
    Hallo Schatzi,
    leider ist mir beim Erstellen der Beispielsdatei ein Fehler unterlaufen, in der Originaldatei sind in einigen Spalten schon mittels Datenüberprüfung Dropdowns angelegt. Da die Dropdowndaten auf einem anderen Tabellenblatt liegen, sind sie im Beispiel leider nicht ordnungsgemäß übernommen wurden und von mir gelöscht. Sorry ...
    Soweit ich weiß, gehen leider keine zwei Datenüberprüfungen auf eine Zelle.
    Trotzdem vielen Dank für deine Antwort.

    Gruß Micha
     
    Micha El Alacrán, 6. Mai 2023
    #5
  6. HKindler
    HKindler Erfahrener User
    Natürlich geht das:
    Die Zellen, die gesperrt/entsperrt werden sollen erhalten eine Datenüberprüfung mit der Formel
    =($G6="Offen")+($G6="Splitting")
    Wichtig: den Haken bei "leere Zellen ignorieren" entfernen!
     
    HKindler, 8. Mai 2023
    #6
  7. Micha El Alacrán
    Micha El Alacrán Neuer User
    Hallo HKindler,
    danke für die Anregung. Ich wusste wirklich nicht, dass man mehrere Datenüberprüfungen verknüpfen kann.
    Wieder etwas dazu gelernt.
    Die Spalten 'K' und 'R' prüfe ich z.B. in der Originalliste auf 'Textlänge=5'.
    Jetzt habe ich es entsprechend abgeändert, und es funktioniert.
    =LÄNGE(K6)=5*($G6<>"Abgeschlossen")*($G6<>"Teilverkauf")
    Ich hoffe, dass ich es in den anderen Spalten auch entsprechend hinbekomme ...
    Vielen Dank noch mal an dich, Schatzi und Hajo für eure Hilfe ...

    Gruß Micha
     
    Micha El Alacrán, 9. Mai 2023
    #7
Thema:

Sperren von Zellen basierend auf Werten in einer anderen Zelle

Die Seite wird geladen...
  1. Sperren von Zellen basierend auf Werten in einer anderen Zelle - Similar Threads - Sperren Zellen basierend

  2. Zellen sperren wenn Samstag, Sonntag oder Feiertag

    in Microsoft Excel Hilfe
    Zellen sperren wenn Samstag, Sonntag oder Feiertag: Hallo liebes Forum, wenn ich in den Spalten C, D, E ab Zeile 15-45 ein X eintragen muss, kann ich dieses X nicht eintragen wenn die Spalte A ein Samstag, Sonntag oder Feiertag ist. Frage: Wie...
  3. Zellen sperren innerhalb einer Tabelle

    in Microsoft Excel Hilfe
    Zellen sperren innerhalb einer Tabelle: Ich habe eine 3-spaltige Tabelle wo nur in einer Zelle je Zeile etwas eingetragen werden kann. siehe Datei Danke für die schnelle Hilfe mfkathie
  4. Automatisches Sperren von Zellen nach eingabe.

    in Microsoft Excel Hilfe
    Automatisches Sperren von Zellen nach eingabe.: Hallo, ich will eine Tabelle erstellen, wo ich in eine Zelle schreibe und nach der Eingabe automatisch gesperrt wird. Es sollte nur mit Passwort wieder veränderbar werden. Wenn der Text aus der...
  5. Zellen per VBA sperren wenn Datum erreicht

    in Microsoft Excel Hilfe
    Zellen per VBA sperren wenn Datum erreicht: Hallo, ich benötige Hilfe bei einer Erstellung eines VBA Codes (Excel). Ich würde gerne das die Zellen B5:AF33 automatisch gesperrt werden, wenn das Datum in Zelle B1 größer wie in Zelle AO30...
  6. Zelle mit Dropdown sperren, wenn in anderer Zelle "nein" steht

    in Microsoft Excel Hilfe
    Zelle mit Dropdown sperren, wenn in anderer Zelle "nein" steht: Hallo zusammen, ich habe eine Excel-Datei erstellt, in welcher ich gern 2 Zellen (je Zeile) folgendermassen miteinander verknüpfen möchte: Zelle $A1 und Zelle $B1 haben beide ein DropDown-Menü....
  7. Excel-VBA: Zellen sperren und gleichzeitig ausblenden lassen.

    in Microsoft Excel Hilfe
    Excel-VBA: Zellen sperren und gleichzeitig ausblenden lassen.: Hallo Leute, ich habe folgendes Problem: In meinem Arbeitsblatt werden bestimmte Zeilen Ein oder Ausgeblenden wenn eine bestimmte Bedingung aktiv ist. Dazu nutze ich folgenden Coe: If...
  8. Zellen sperren wenn Datum ein Sonntag

    in Microsoft Excel Hilfe
    Zellen sperren wenn Datum ein Sonntag: Wie muß die Formel lauten wenn in Zelle B3 das datum ein Sonntag ist dann sollen die Zellen C17, D17, C19, D19 gesperrt werden. Wäre toll wenn mir jemand zeitnah helfen kann.
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden