habe eine größere Datei mit u.a. 52 Kalenderwochen-Tabellenblätter (1KW, 2KW usw.). Mit Hilfe dieses Forums habe ich es geschafft, darin per VBA ganz gezielt bestimmte Zellenbereiche beschreibbar zu halten und den Rest zu sperren.
Das ist der Code dazu:
Sub KW_sperren()
'Alle Register KWen sperren
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name Like "*KW" Then
ws.Range("A4:G4,A7:K8,A10:G10,A13:K14,A16:G16" usw.).Select 'Diese Bereiche
Selection.Locked = False 'nicht sperren
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next ws
End Sub
Der funktioniert auch super, aber nur für ein Tabellenblatt bzw. für das erste (1KW)!Wenn er aber mit der For Each Schleife alle 52 Blätter durchlaufen soll, kommt die
Fehlermeldung Laufzeitfehler 1004 Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden
und markiert gelb die Zeile mit ws.Range("A4......)
In der If-Anweisung (If ws.Name Like "*KW" Then) ist der richtige Parameter aber übergeben worden (ws.Name=2KW)
Warum klappt bei einem Tabellenblatt alles einwandfrei und in der Schleife nicht?
Kann mir da jemand weiterhelfen?
Vielen Dank jetzt schon
Erwin