ich möchte verhindern, dass Tabellenblätter in meinem Programm vom Anwender eingesehen werden können. Wenn die Anwendung über 'Makros aktivieren' gestartet wird, habe ich das gelöst.
Falls aber 'Makros deaktivieren' angeklickt wird, sind die einzelnen Arbeitsblätter sichtbar.
Nun habe ich im Forum die Möglichkeit gefunden die Arbeitsblätter zu verstecken:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'* Bis auf Tabellenblatt 'Tabelle1' werden alle Blätter versteckt.*
'* Das führt dazu, dass beim nächsten Start ohne Aktivierung der *
'* Makros nur das Tabellenblatt mit dem Hinweis erscheint. *
For j = Worksheets.Count To 1 Step -1
If Worksheets(j).name <> "Tabelle1" Then Worksheets(j).Visible = xlveryhidden
Next j
End Sub
und wieder sichtbar zu machen:
Private Sub Workbook_Open()
'* Falls die Makros aktiviert wurden, werden alle Tabellenblätter *
'* wieder sichtbar gemacht. *
For j = Worksheets.Count To 1 Step -1
If Worksheets(j).name <> "Tabelle1" Then Worksheets(j).Visible = True
Next j
End Sub
Nun zu meinem Problem:
Mein Originalprogramm (Vorlage.xls) wird im Workbook_BeforeClose unter einem anderen Namen abgespeichert, um das Original immer in 'jungfräulichem' Zustand (Eingaben in Textfelder und Tabellen werden nicht im Original gespeichert) zu halten.
If ActiveWorkbook.name = "Vorlage.xls" Then
ActiveWorkbook.SaveAs Me.Path & _
"\" & Range("Kundendaten!B30") & "_" & Format(Now, "DD-MM-YY") & ".xls"
Else
ActiveWorkbook.Save
End If
Das bezieht sich nun leider auch auf das verstecken der Tabellenblätter.
Gibt es vielleicht einen Spagat um beides gleichzeitig zu erreichen?
Gruss
Thomas