Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Blattschutz setzen funktioniert nicht

Blattschutz setzen funktioniert nicht
Thomas
Hallo zusammen,
habe Probleme mit aufgeführtem Code.
Möchte am Ende für alle Sheets wieder einen Blattschutz setzen,
es kommt jedoch folgende Fehlermeldung.
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler

Sub Kostenstellenkorrektur()
For Each WSTabelle In Sheets
WSTabelle.Unprotect ("JA")
Next WSTabelle
' Tabellenblätter markieren
Sheets(Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", _
"Dez")).Select
Range("AR4").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(R[4]C[-1]:R[29]C[-1],""0030-D3125"",R[4]C:R[29]C)"
' Alle Tabellenblätter mit PW schützen
For Each WSTabelle In Sheets
WSTabelle.Protect ("JA")
Next WSTabelle
End Sub
Danke für eure Hilfe
Thomas
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blattschutz setzen funktioniert nicht
29.03.2012 09:42:16
marcl
Hallo Thomas,
Sub Kostenstellenkorrektur()
Dim WSTabelle as Worksheet ' Objektvariable fehlte!
For Each WSTabelle In Worksheets
WSTabelle.Activate
WSTabelle.Unprotect "JA"
Next WSTabelle
' Tabellenblätter markieren
Sheets(Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", _
"Dez")).Select
Range("AR4").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(R[4]C[-1]:R[29]C[-1],""0030-D3125"",R[4]C:R[29]C)"
' Alle Tabellenblätter mit PW schützen
For Each WSTabelle In Worksheets
WSTabelle.Activate
WSTabelle.Protect "JA"
Next WSTabelle
End Sub
Gruß
marcl
Anzeige
das liegt an den selekktierten Blättern ...
29.03.2012 09:48:31
Matthias
Hallo
Merke Dir die Starttabelle(Index) in der Du vor dem Code stehst
Option Explicit
Sub Thomas()
Dim WSTabelle As Worksheet
Dim MyIdx&
MyIdx = ActiveSheet.Index
For Each WSTabelle In Sheets
WSTabelle.Unprotect "JA"
Next WSTabelle
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Range("AR4").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R[4]C[-1]:R[29]C[-1],""0030-D3125"",R[4]C:R[29]C)"
Sheets(idx).Select
For Each WSTabelle In Sheets
WSTabelle.Protect "JA"
Next WSTabelle
End Sub
Gruß Matthias
Anzeige
Nachtrag! (Name der Variable) ...
29.03.2012 10:16:30
Matthias
Hallo
Sheets(Idx) war natürlich falsch! Die Variable heißt: MyIdx
Option Explicit
Sub Thomas()
Dim WSTabelle As Worksheet
Dim MyIdx&
MyIdx = ActiveSheet.Index
For Each WSTabelle In Sheets
WSTabelle.Unprotect "JA"
Next WSTabelle
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Range("AR4").Select
ActiveCell.FormulaR1C1 = "=SUMIF(R[4]C[-1]:R[29]C[-1],""0030-D3125"",R[4]C:R[29]C)"
Sheets(MyIdx).Select
For Each WSTabelle In Sheets
WSTabelle.Protect "JA"
Next WSTabelle
End Sub

Gruß Matthias
Anzeige
AW: Nachtrag! (Name der Variable) ...
29.03.2012 12:50:07
Thomas
Hallo zusammen,
nochmal der Neuling :-).
Habe nun das VBA vom Nachtrag (Mathias) danke an dieser Stelle übernommen.
Allerdings kommt jetzt ein "Laufzeitfehler 13" nachdem das 12 te Blatt auf Unprotect gesetzt wurde.
Das ganze bleibt dann an der Fett markierten Stelle stehen.
Option Explicit
Sub Thomas()
Dim WSTabelle As Worksheet
Dim MyIdx&
MyIdx = ActiveSheet.Index
For Each WSTabelle In Sheets
WSTabelle.Unprotect "JA"
Next WSTabelle
Vielleicht kann hierzu noch einmal jemand Stellung nehmen.
Danke vorab
Anzeige
AW: Nachtrag! (Name der Variable) ...
29.03.2012 15:38:24
Thomas
Hallo zusammen,
habe nun die Lösung.
Danke nochmal an alle die mich hier unterstützt haben
Anbei zur Info

Sub Kostenstellenkorrektur()
For Each WSTabelle In Sheets
WSTabelle.Unprotect ("JA")
Next WSTabelle
' Tabellenblätter markieren
Sheets(Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", _
"Dez")).Select
Range("AR4").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(R[4]C[-1]:R[29]C[-1],""0030-D3125"",R[4]C:R[29]C)"
Dim i As Long
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Select
Sheets(i).Protect Password:="JA"
Next
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige