Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blatt- bzw. Mappenschutz

Forumthread: Blatt- bzw. Mappenschutz

Blatt- bzw. Mappenschutz
04.09.2003 13:17:42
Daniel G
Hu zusammen.

Ich habe da ein "kleines" Problem. Wenn ich folgenden Code ausführe, dann bekomme ich immer die Meldung, dass der Schutz noch aktiv sei und deswegen Rows und Alignements nicht geändert werden können.

Kann mir da jmd helfen?


Private Sub CommandButton2_Click()
Dim bereich As Range
Dim wrb As Workbook
Dim lastcell As Range
For Each wrb In Workbooks
With wrb
If (Visible = True) Then
.Activate
MsgBox "Datei" & .Name & "ist eben aktiviert worden und hat" & .Worksheets.Count & "Sheets."
ActiveWorkbook.Unprotect password:="passwort"
ActiveSheet.Unprotect password:="passwort"
Set bereich = Range(Cells(1, 1), Cells(xlCellTypeLastCell, 16))
With bereich
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.Font.Name = "arial"
.Font.Size = 8
.Font.ColorIndex = 1
.Rows.AutoFit
End With
End If
End With
ActiveWorkbook.Protect password:="passwort"
ActiveSheet.Protect password:="passwort"
Next wrb
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Saubere Objektreferenzierung
04.09.2003 14:24:17
Nike
Hi,

mit ner sauberen Objektreferenzierung klappert dein Code einwandfrei:


Private Sub CommandButton2_Click()
Dim bereich As Range
Dim wks As Worksheet
Dim wrb As Workbook
Dim lastcell As Range
For Each wrb In Workbooks
wrb.Unprotect password:="passwort"
For Each wks In wrb.Worksheets
If wks.Visible Then
'MsgBox "Datei" & .Name & "ist eben aktiviert worden und hat" & .Worksheets.Count & "Sheets."
wks.Unprotect password:="passwort"
Set bereich = wks.Range(wks.Cells(1, 1), wks.Cells(xlCellTypeLastCell, 16))
With bereich
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.Font.Name = "arial"
.Font.Size = 8
.Font.ColorIndex = 1
.Rows.AutoFit
End With
wks.Protect password:="passwort"
End If
wrb.Protect password:="passwort"
Next wrb
End Sub


Bye

Nike
Anzeige
AW: Saubere Objektreferenzierung
04.09.2003 14:39:04
Daniel G
hi Nike,

Ich hätte vielleicht auch dazusagen sollen, dass jedes Workbook nur ein Sheet hat.
Somit kann ich mir ja die folgende Passage sparen, oder?

For Each wks In wrb.Worksheets
If wks.Visible Then

Und es geht ausschließlich um die Sichtbaren Workbooks, will meinen alle die ich offen habe(haben alle ein Tabellenblatt) sollen entsperrt, bearbeitet und wieder gesperrt werden.
Bei deiner Lösung kam übrigens am Ende:

Ungültiger Verweis auf Next-Steuervariable
Anzeige
AW: Saubere Objektreferenzierung
04.09.2003 14:59:05
Nike
Hi,
da erzähle ich was über saubere Objektreferenzierung
und bekomms selber nicht hin ;-)
Da hat noch ein next gefehlt Oops ;-)


Private Sub CommandButton2_Click()
Dim bereich As Range
Dim wks As Worksheet
Dim wrb As Workbook
Dim lastcell As Range
For Each wrb In Workbooks
wrb.Unprotect password:="passwort"
For Each wks In wrb.Worksheets
If wks.Visible Then
'MsgBox "Datei" & .Name & "ist eben aktiviert worden und hat" & .Worksheets.Count & "Sheets."
wks.Unprotect password:="passwort"
Set bereich = wks.Range(wks.Cells(1, 1), wks.Cells(xlCellTypeLastCell, 16))
With bereich
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.Font.Name = "arial"
.Font.Size = 8
.Font.ColorIndex = 1
.Rows.AutoFit
End With
wks.Protect password:="passwort"
End If
Next wks
wrb.Protect password:="passwort"
Next wrb
End Sub


Ich würde das for each wks
drinn lassen denn wenn du ein ausgeblendetes Blatt drinnen hast,
hast du ggf noch ein weiteres (sichtbares) drinnen ;-)

Bye

Nike
Anzeige
AW: Saubere Objektreferenzierung
04.09.2003 15:12:52
Daniel G
Nein, ich habe nur ein einziges und das ist sichtbar. 100%sicher.

Und es funktioniert jetzt spitzenmässig.
Macht überhaupt keine Zicken mehr.
Ein Wunderwerk der Datenverarbeitung(für mich zumindest);))

Thx Nike

Gurr Daniel
;

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