Hallo ALex,
also, die Theorie nochmal erweitert. Ich hatte heute früh das mit dem End With erwähnt. Du kannst also nicht nach dem End With nochmal mit .unprotect arbeiten. Entweder musst Du dann auch das End With nach unten schieben, oder ein neues With / End With programmieren, oder Du teilst Excel genau das Objekt mit, was Du da ungeschützt haben willst.
Mal ein paar Körperbezogenen Beispiele.
Code:
Mit der rechten Hand
.Bewegen.Senkrecht
.stillhalten
Ende mit der rechten Hand
Mit der linken Hand
.Bewegen.waagerecht
.stillhalten
Ende mit der linken Hand
würde die Rechte Hand senkrecht bewegen und dann aufhören, aber nur die rechte Hand. Anschließend die Linke, aber waagerecht. Mit dem folgenden code würden sich erst die rechte bewegen, dann beide Hände, dann hört die linke auf und dann die rechte. Kannst Du ja mal ausprobieren
Code:
Mit der rechten Hand
.Bewegen.Senkrecht
Mit der linken Hand
.Bewegen.waagerecht
.stillhalten
Ende mit der linken Hand
.stillhalten
Ende mit der rechten Hand
Du siehst, dass auch die Zuordnung der With's und End With's beachtet werden muss, wenn diese geschachtelt werden.
Wenn Du jetzt irgendwo nach den End With's - Bzw. Ende mit der ... Hand
Bewegen.waagerecht
programmierst, weiß Excel - bzw. Du - nicht, was bewegt werden soll.
Du könntest daher ohne With folgendes programmieren
RechteHand.Bewegen.waagerecht
und anschließend
RechteHand.stillhalten
Bei Deinem Versuch fehlt also das Objekt. Der code für das Excelprojekt könnte so aussehen:
Code:
Sheets("Input").unprotect
Sheets("Input").Range("N8:N11, P6, B8:B11, B13, B14, A16, B16, N16:P16, S2, T2").Value = ""
Sheets("Input").protect
Mit With würde das so aussehen:
Code:
With Sheets("Input")
.unprotect
.Range("N8:N11, P6, B8:B11, B13, B14, A16, B16, N16:P16, S2, T2").Value = ""
.protect
End With