Anzeige
Archiv - Navigation
1964to1968
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

VBA-Macro "DeleteSheetByName" funktioniert nicht mehr

VBA-Macro "DeleteSheetByName" funktioniert nicht mehr
26.02.2024 09:10:34
Michael
Hallo allseits,

ich habe ein VBA-Macro, welches aus einem externen Programm (UIPath) aufgerufen wird. Dieses soll ein Sheet mit einem bestimmten Namen löschen, und sieht wie folgt aus:



Sub DeleteSheetByName(sheetName As String)
On Error Resume Next
ThisWorkbook.Sheets(sheetName).Delete
End Sub


Das hat bisher auch gut funktioniert. Das Sheet wurde bisher ohne Nachzufragen korrekt gelöscht.

Und plötzlich kommt beim Ausführen die Meldung "Microsoft Excel löscht dieses Blatt endgültig. Möchten Sie den Vorgang fortsetzen?" mit den Buttons "Löschen" und "Abbrechen".

BISHER kam diese Abfrage nie, die ist bei dem Aufruf neu und stört den Ablauf. Der Macro-Recorder hilft mir nicht, der liefert nur zusätzlich den Befehl "Application.CutCopyMode = False", aber auch wenn ich den einfüge ändert sich nichts - die Sicherheitsabfrage erscheint weiterhin.

Und fragt mich bitte nicht, was sich am System geändert hat, ich würde zwar meinen "Gar nichts", aber kann sein, dass unser Security-Team bzw. die Systemadministration irgendeine Einstellung am System/bei Excel geändert hat.

Ich muss diese Abfrage jedenfalls weg bekommen. Bitte um Hilfe, Danke!

LG Michael

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Macro "DeleteSheetByName" funktioniert nicht mehr
26.02.2024 09:22:57
Daniel
Das ist eine Rückfrage des Systems.
Diese kann man mit dem Befehl:
Application.DisplayAlerts = False

analog den Fehlerabbrüchen unterdrücken.
Ausgewählt wir dann der Button,der automatisch voreingestellt ist.

Gruß Daniel
Achtung! Wichtig ist es...
26.02.2024 11:47:30
MCO
... die Funtion nachher wieder aktiv zu schalten!

Application.DisplayAlerts = TRUE


Ansonsten fragt EXCEL nix mehr!

Gruß, MCO
AW: VBA-Macro "DeleteSheetByName" funktioniert nicht mehr
26.02.2024 13:37:34
Michael
Herzlichen Dank, das war's, warst echt meine Rettung in letzter Sekunde (Ich hatte heute 'ne Präsentation, wo ich genau den Teil hergezeigt habe.) :)

Als Zusatzfrage: Gibt's irgendwo eine VBA-Klassenübersicht, wo man sowas wie "Application.DisplayAlerts = False" findet?
Anzeige
AW: VBA-Macro "DeleteSheetByName" funktioniert nicht mehr
26.02.2024 13:47:16
daniel
Hi
es gibt die Learn- und Supportseiten von Microsoft.
am einfachsten gelangst du dahin, wenn du im Editor den Cursor auf "Appication" platzierst und dann F1 drückst.
auf der linken Seite siehst du dann eine Baumstruktur, wo du dich dann durch die einzelen Objekte durchklicken kannst.
Auf der Deutschen Seite muss man damit rechnen, dass u.U. auch die VBA-Befehle und Begriffe ins Deutsche übersetzt wurden.
Gruß Daniel
AW: Achtung! Wichtig ist es...
26.02.2024 12:16:26
daniel
nö, ist nicht wichtig.
die Einstellungen ScreenUpdating und DisplayAlerts werden nach Ende des Makrolaufs automatisch wieder auf TRUE gesetzt.
Im Anwenderbetrieb sind diese immer aktiv und könnten auch nicht verstellt werden.
Das kannst du auch testen, in dem du mal im Direktfenster versuchst, diese Einstellungen auf False zu setzen und danach dann abfragst, was eingestellt ist.
Du wirst sehen, dass du hier nichts verstellen kannst.

Bei anderen Einstellungen wie Calculation oder EnableEvents ist es anders.
Diese bleiben nach Makroende auf der zuletzt gemachten Einstellung und man kann sie im Direktfenster auch dauerhaft verstellen.
Das Calculation kann sogar der Anwender selbst über eine Menüfunktion umstellen.

Also ja, es ist prinzipiell sinnvoll, Einstellungen , die man im Makro verändert, wieder auf den Ursprünglichen Stand zurück zustellen, damit der Anwender sein System so wieder findet, wie er es beim Makrostart verlassen hat, aber dann sollte man sich konsequenterweise auch die ursprünglichen Einstellungen merken und auf diese zurückstellen und nicht auf vom Programmierer festgelegte Werte.

Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige