Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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
  Workbook_open nach Ablauf speichern und sperren joshua 11 115 24.03.2017, 10:20
Letzter Beitrag: Kuwer
  Zellen für Formel nach Kategorien ordnen Askyneedsclouds 10 166 13.03.2017, 19:28
Letzter Beitrag: shift-del
  Zellen markieren, wenn manuelle Eingabe erfolgt ist Fabian Mocean 4 138 01.03.2017, 20:35
Letzter Beitrag: Basisa
  Maximaler Wert der kleiner als Eingabe lili 12 273 28.02.2017, 23:48
Letzter Beitrag: Ego
  Zellen Sperren, Gruppierung weiterhin erlauben BraucheHilfe:) 12 345 23.02.2017, 10:16
Letzter Beitrag: BraucheHilfe:)
  Eingabe-Maske auf Tabellenblatt: Hyperlink- und Dropdown-Frage Rabe 12 206 19.02.2017, 09:44
Letzter Beitrag: Rabe
  Zellen je nach Farbe sperren Ralf1 1 124 17.02.2017, 20:05
Letzter Beitrag: schauan
  2 Spalten nach Doubletten untersuchen und markieren oder eintrage ändern purestyles 31 560 16.02.2017, 21:44
Letzter Beitrag: atilla
  sverweis oder index oder was??? hanne55 30 820 08.02.2017, 19:24
Letzter Beitrag: hanne55
  Zellen aufwärts nach Merkmal durchsuchen UnionJack 4 140 08.02.2017, 15:47
Letzter Beitrag: Rabe

Gehe zu:


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