Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Makro - Nach Zell eingabe, gewiese Zellen Entsperren oder Sperren!
#1
Hallo Excel Freunde

Ich Habe im Internet gesucht und Viele verschiedene Möglich keiten Probiert und nichts geht da von.
Das ist Klar:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

* Wenn die Zelle ("F6") Nicht leer ist , dann:
Code:
Range("F8, I6:I9, K6:L6, K7, H11:H130").Locked = False
Range("F9, K9:M9").Locked = True
-Oder wenn die Zelle ("F6") leer ist, dann:
Code:
Range("F8, I6:I9, K6:L6, K7, H11:H130, F9, K9:M9").Locked = True

* Wenn die Zelle ("I7") Nicht leer ist, dann:
Code:
Range("F9").Locked = False
Range("I8:I9").Locked = True
Oder wenn die Zelle ("I7") leer ist, Dann:
Code:
Range("I8:I9").Locked = False
Range("F9").Locked = True

u.s.w.

Mein Problem ist Das ganze Makro: F6 und I7 gehen aber I8 und I9 Gehen nicht.

Hier der Ganze Code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("F6") = "" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F8, I6:I9, K6:L6, K7, H11:H130, F9, K9:M9").Locked = True
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
   Range("F6").Select
ElseIf Target.Address = "$F$6" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F8, I6:I9, K6:L6, K7, H11:H130").Locked = False
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Range("I7") = "" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F8, I6:I9, K6:L6, K7, H11:H130").Locked = False
       Range("F9").Locked = True
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Target.Address = "$I$7" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F9").Locked = False
       Range("I8:I9").Locked = True
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Range("I8") = "" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F8, I6:I9, K6:L6, K7, H11:H130").Locked = False
       Range("F9").Locked = True
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Target.Address = "$I$8" Then
   ActiveSheet.Unprotect Password:="Geheim"
       Range("F9").Locked = False
       Range("I7, I9").Locked = True
   ActiveSheet.Protect Password:="Geheim", DrawingObjects:=True, Contents:=True, Scenarios:=True
'Elseif auch noch für F9.
End If
Application.EnableEvents = True
End Sub

Was mache ich Falsch das ab I8 das nicht mehr Sperrt oder Endsperrt?

Kann mir da jemand bitte Helfen?
Bin beim verzweifeln!

MfG BD
to top
#2
Hallo,

dann ist die Bedingung für die Zelle F6 oder I7 erfüllt und bei elseif gilt nur eine Bedingung als erfüllt.

Nachtrag: Auszug aus der OH zu If-Bedingung.

Zitat:Bei der Ausführung eines If-Blocks (zweite Syntax) wird zunächst Bedingung überprüft. Ergibt Bedingung den Wert True, so werden die Anweisungen im Anschluß an Then ausgeführt. Ergibt Bedingung den Wert False, so werden die ElseIf-Bedingungen (sofern vorhanden) der Reihe nach ausgewertet. Sobald eine dieser Bedingungen True ergibt, werden die Anweisungen im Anschluß an das zugehörige Then ausgeführt. Ergibt keine der ElseIf-Bedingungen True (oder sind überhaupt keine ElseIf-Abschnitte vorhanden), so werden die Anweisungen im Anschluß an Else ausgeführt. Sobald die Anweisungen nach einem Then- oder Else-Abschnitt ausgeführt wurden, setzt das Programm die Ausführung mit der Anweisung im Anschluß an End If fort.
Nachtrag2: Deine Konstrukt paßt so nicht. Setze mal einen Haltepunkt (F9-Taste) und teste das mal im Einzelschrittmodus (F8-Taste).
Gruß Stefan
Win 7 / Office 2007
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Nach 5 selben Zahlenerfassungen 6. +< Erfassung löschen oder rot markieren possertf 9 133 13.01.2017, 17:52
Letzter Beitrag: Ego
  Makro/VBA Reset Makro inkl. Dropdownmenüs Nordlicht85 7 96 12.01.2017, 10:46
Letzter Beitrag: Nordlicht85
  einfaches sperren von Zellen Gremlin 7 152 03.01.2017, 06:25
Letzter Beitrag: Rabe
  Tabelle und Zellen unsichtbar machen/sperren Dubsepp 4 112 20.12.2016, 14:52
Letzter Beitrag: Dubsepp
  Makro nach kopieren der Datei nicht verfügbar Peter_A4600 2 74 15.12.2016, 10:23
Letzter Beitrag: Peter_A4600
  Zuordnung von EAN Nummern mit Sperrung (oder Markierung) nach einmaliger Verwendung Kali-1 6 134 14.12.2016, 14:36
Letzter Beitrag: Kali-1
  Überprüfung von Zellen nach Buchstaben in unterschiedlicher Reihenfolge Maya14 9 142 02.12.2016, 12:45
Letzter Beitrag: BoskoBiati
  Zellen Summe verstecken (VBA Makro Befehl ) Kj91 15 269 18.11.2016, 13:30
Letzter Beitrag: Kj91
  Zellen sperren GermanPotato 8 167 17.11.2016, 14:42
Letzter Beitrag: BoskoBiati
  Makro in xlsx oder xls APfeiffer 2 146 07.11.2016, 09:36
Letzter Beitrag: Käpt'n Blaubär

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste