Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1684to1688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit Worksheet.Delete / Makroeinstellungen

Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 17:54:14
kathrin
Hallo,
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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 18:49:49
Martin
Hallo Kathrin,
dein Makro steht im Modul des zu löschenden Tabellenblattes. In dem Moment in dem du das Tabellenblatt löscht, löscht du auch dein Makro. Deshalb kann der Rest des Makros auch nicht mehr ausgeführt werden.
Viele Grüße
Martin
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 18:54:53
kathrin
Hallo Martin,
das denke ich nicht. Das Makro wird in der Arbeitsmappe "Test.xlsm" ausgeführt. Das zu löschende Arbeitsblatt befindet sich jedoch in der Arbeitsmappe "Test2.xlsm". Wäre das hier wirklich das Problem, dürfte das Makro nie korrekt funktionieren, egal ob der Editor offen oder geschlossen ist. Zudem habe ich auch schon getestet was ist wenn ich ein anderes Tabellenblatt, in der Bspdatei "Tabelle1" lösche - selbes Ergebnis. Funktioniert bei mir auf der Arbeit nur bei geöffnetem Editor.
VG Kathrin
Anzeige
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 19:17:48
onur
Bei mir läuft alles ohne Probleme (ich sehe aber auch keine Userform, nur eine Msgbox).
Was ich nicht verstehe: kein Code stoppt mitten drin ohne irgend eine Meldung.
Muss wohl an irgend welchen Einstellung liegen - Wie hast du denn die Fehlerbehandlung eingestellt?
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 19:44:38
Kathrin
Wie gesagt bei mir zu Hause läuft auch alles ohne Probleme. Der Button ist auf dem Tabellenblatt, userform gibt es keine. Fehlerbehandlung ist hier nicht das Thema, es wird kein Fehler geworfen egal ob mit einem on error goto oder ohne. Ich vermute es liegt an allgemeinen excel Sicherheitseinstellungen. Aber ich weiß nicht an welchen.
aber prinzipiell finde ich es komisch das der Zustand des Editors anscheinend eine Auswirkung hat. Kann das jemand erklären?
Anzeige
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 19:49:24
onur
Sicherheitseinstellungen: Quatsch - entweder laufen die Makros oder überhaupt nicht - Dazwischen gibt es nix.
Fehlerbehandlung: Ich meine Editor/Extras/Optionen/Allgemein/Unterbrechen bei Fehlern (sollte auf "bei jedem Fehler" stehen).
AW: Problem mit Worksheet.Delete / Makroeinstellungen
04.04.2019 19:51:35
Kathrin
Ok die Einstellung werde ich morgen mal prüfen
AW: LÖSUNG Worksheet.Delete / Makroeinstellungen
05.04.2019 08:46:46
kathrin
Ich habe das Problem nun gelöst bekommen. Es lag wohl tatsächlich an Sicherheitseinstellungen. Mit dem Befehl
Application.AutomationSecurity = msoAutomationSecurityLow
vor dem Öffnen der Kopie funktioniert es jetzt.
Danke für alle Anregungen.
Der komplette Vereinfachte Code:
Private Sub btn_Export_Click()
Dim wkbExport As Workbook
    Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
'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)
    Application.AutomationSecurity = msoAutomationSecurityLow
Set wkbExport = Workbooks.Open(wkbExportName)
Application.AutomationSecurity = secAutomation
Debug.Print secAutomation
'Tabellenblatt "Test" löschen
Application.DisplayAlerts = False
wkbExport.Worksheets("Test").Delete
Application.DisplayAlerts = True
MsgBox "done"
wkbExport.Save
End Sub

Anzeige
AW: LÖSUNG Worksheet.Delete / Makroeinstellungen
05.04.2019 10:18:07
onur
Das hast du aber bestimmt erst erfahren können, NACHDEM du die Fehlerbehandlung geändert hast - oder?
AW: LÖSUNG Worksheet.Delete / Makroeinstellungen
05.04.2019 10:22:20
kathrin
Nein, Änderung in der Einstellung zur Fehlerbehandlung hatte leider keine Auswirkung. Es kam weiterhin keine Meldung. Auf diese Lösung bin ich zufällig in einem anderen Forum gestoßen als ich nochmal nach Sicherheitseinstellungen gegoogelt habe.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige