Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 17:54:14
kathrin
ich habe eine Exceldatei mit Makros und einem Tabellenblatt mit mehreren Buttons. Nun möchte ich eine Kopie dieser Datei erstellen in der das Blatt welches die Buttons und Makros beinhaltet gelöscht wird (und noch ein paar andere Änderungen vorgenommen werden). Unten ein vereinfachter Code. Und hier eine Beispieldatei mit dem Code: https://www.herber.de/bbs/user/128922.xlsm
Nun mein Problem:
Auf meinem PC an der Arbeit funktioniert dieses Makro nur wenn ich den VBA-Editor dabei geöffnet habe. Ist der Editor geschlossen stoppt das Makro direkt nach dem Löschen des Arbeitsblattes. D.h. in dem Beispiel unten wird die Msgbox nicht mehr angezeigt. An meinem privaten Rechner funktioniert das Makro einwandfrei egal ob der Editor offen oder geschlossen ist. Ich vermute, dass dies etwas mit den Makroeinstellungen zu tun hat. An meinem privaten Rechner werde ich keinem der beiden Fällen gefragt ob ich Makros zulassen oder deaktiveren möchte. An der Arbeit jedoch wenn ich das Makro mit geöffnetem Editor ausführe, kommt direkt beim Öffnen der Kopie der entsprechende Dialog. Bei geschlossenem Editor kommt dieser Dialog nicht. Kann mir jemand dieses Phänomen erklären und hat vielleicht eine Idee wie ich das Makro auch an der Arbeit ohne Öffnen des Editors zum laufen bekomme? Welche Einstellung könnte hierfür verantwortlich sein? Ich kann es so zwar verwenden, aber richtig glücklich macht mich die Lösung immer den Editor zu Öffnen nicht. Insb. wenn ich daran denke, dass auch Kollegen dieses Makro einmal benutzen sollen.
An dieser Stelle schoneinmal vielen Dank für jegliche Hilfe!
Kathrin
Private Sub btn_Export_Click()
Dim wkbExport As Workbook
'Pfad für Kopie der Arbeitsmappe
Dim wkbExportName As String
wkbExportName = ThisWorkbook.Path & "\Test2.xlsm"
'Kopie der Arbeitsmappe erstellen und diese öffnen
ThisWorkbook.SaveCopyAs (wkbExportName)
Set wkbExport = Workbooks.Open(wkbExportName)
'Tabellenblatt "Test" löschen
Application.DisplayAlerts = False
wkbExport.Worksheets("Test").Delete
Application.DisplayAlerts = True
MsgBox "done"
wkbExport.Save
End Sub