Herbers Excel-Forum - das Archiv

Code für Makro deaktivieren funzt nur manchmal

Bild

Betrifft: Code für Makro deaktivieren funzt nur manchmal
von: Merten

Geschrieben am: 01.03.2005 12:22:21
Hallo Leute,

habe mit Hilfe des Forums folgenden VBA Befehl, welcher bewirkt, dass wenn ein Nutzer die Makroabfrage deaktiviert (beim laden der tabelle) nur ein Tabelleblatt "Makros aus" angezeigt bekommt.
Jedoch funzt dieser Befehl nur manchmal, woarn kann das liegen. Weiß jemand Abhilfe.
In diese Arbeitsmappe:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Worksheets("One_Pager").Visible = True
Worksheets("Input").Visible = True
Worksheets("Makros aus").Visible = xlVeryHidden
Sheets("One_Pager").Select
Range("D11").Select
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets("Makros aus").Visible = True
Worksheets("One_Pager").Visible = xlVeryHidden
Worksheets("Input").Visible = xlVeryHidden
Sheets("Makros aus").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub


Danke im voraus.
merten
Bild

Betrifft: AW: Code für Makro deaktivieren funzt nur manchmal
von: Heiko S.

Geschrieben am: 01.03.2005 14:05:12
Hallo Merten,
ich kann dir sogar genau sagen wann es nicht klappt.
Öffne deine Datei mit Makro. Wenn du nun die Arbeitsmappe schließt und dann bei der Abfrage "Änderungen Speichern" nein drückst, kommen beim nächsten öffnen der Datei ohne Makrois trotzdem die Tabellenblätter die du nicht sehen willst.
Denn das einblenden der Ohne Makros und ausblenden der Daten Tabellenblätter ist ja wieder eine Änderung, wenn die aber nicht gespeichert wird bringt es nichts.
Abhilfe könnte leisten ein zwangsspeichern beim verlassen.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets("Makros aus").Visible = True
Worksheets("One_Pager").Visible = xlVeryHidden
Worksheets("Input").Visible = xlVeryHidden
Sheets("Makros aus").Select
Range("A1").Select
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub

Sieht aber auch nur auf den ersten Blick gut aus, denn nun kann man die Arbeitsmappe nicht mal schnell verlassen wenn man viel, falsch, geändert hat. Denn alles was man nun in der Arbeitsmappe tut wird zwangsläufig gespeichert.
Schau mal in der Recherche nach zu diesen Thema, z.B. Makroausführung erzwingen, Tabellenblatt immer mit makro starten usw., du wirst viele Einträge finden. Aber eine absolute sicherheit gibt es bei diesem Problem nicht.
Gruß Heiko

Bild

Betrifft: ok, danke, werd ich mal gucken
von: Merten
Geschrieben am: 01.03.2005 14:27:59
 Bild
Excel-Beispiele zum Thema "Code für Makro deaktivieren funzt nur manchmal"
Menüpunkt SPEICHERN deaktivieren Deaktivieren und Aktivieren von Drag&Drop
Menüpunkt "Zellen einfügen..." im Kontextmenü deaktivieren Das Extras-Menü aktivieren/deaktivieren
Wenn Formel, dann Löschtaste deaktivieren Speichern-Schaltfläche aktivieren/deaktivieren