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
  Überprüfung von Zellen nach Buchstaben in unterschiedlicher Reihenfolge Maya14 9 93 02.12.2016, 12:45
Letzter Beitrag: BoskoBiati
  Zellen Summe verstecken (VBA Makro Befehl ) Kj91 15 187 18.11.2016, 13:30
Letzter Beitrag: Kj91
  Zellen sperren GermanPotato 8 109 17.11.2016, 14:42
Letzter Beitrag: BoskoBiati
  Makro in xlsx oder xls APfeiffer 2 78 07.11.2016, 09:36
Letzter Beitrag: Käpt'n Blaubär
  Abhängige Zellen abwechselnd Sperren DanielBr 11 244 30.10.2016, 08:52
Letzter Beitrag: WillWissen
  Zellen nach ausfüllen dauerhaft schützen bietho 18 601 27.10.2016, 09:42
Letzter Beitrag: headloose
Wink Listen von vorne (nach gewisser Anzahl von Zellen) wiederholen JoJo2807 6 89 26.10.2016, 20:22
Letzter Beitrag: snb
  Zellen erkennen kleiner oder gleich 8 Zeichen Sunny2000N 7 119 26.10.2016, 13:11
Letzter Beitrag: Jockel
  SVERWEIS oder Makro zum Suchen und Einfügen ralf.stephan 6 121 21.10.2016, 21:03
Letzter Beitrag: schauan
  Automatisierung durch Eingabe Tekxtase 1 88 21.10.2016, 20:25
Letzter Beitrag: schauan

Gehe zu:


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