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

Beiträge aus den Excel-Beispielen zum Thema "Code für Makro deaktivieren funzt nur manchmal"