Visible = xlSheetHidden für alle Worksheets?
02.07.2004 20:54:50
Danny
ich möchte gerne die Tabellen meiner Arbeitsmappe vor Benutzern verstecken, welche die Mappe öffnen und keine Makros eingeschaltet haben. Meine Idee war: Beim Schließen werden alle Tabellen per Makro ausgeblendet. Beim Öffnen werden alle wieder eingeblendet. Wer die Arbeitsmappe öffnet, aber Makros deaktiviert, sieht nichts. (Ich weiss, ein relativ trivialer Schutz, aber für meine Anwender hätte es gereicht.)
Ich hatte mir Folgendes gedacht:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim objWS As Worksheet
For Each objWS In ThisWorkbook.Worksheets
objWS.Visible = xlSheetHidden
Next
ThisWorkbook.Save
End Sub
Private Sub Workbook_Open()
Dim objWS As Worksheet
For Each objWS In ThisWorkbook.Worksheets
objWS.Visible = xlSheetVisible
Next objWS
End Sub
Problem: Das letzte Worksheet in der Arbeitsmappe lässt sich nicht auf xlSheetHidden stellen (Fehler 1004: Methode 'Visible' für Objekt '_Worksheet' fehlgeschlagen).
Irgendetwas habe ich prinzipiell falsch verstanden. Wer kann mir helfen?
Danke im voraus für eure Hilfe!
Danny