Tipps "n" Tricks
Anwender-Software - Excel

Warnmeldungen per VBA unterdrücken

Thema:

Excel 97, 2000 und 2002

Frage:

Wenn man ein Tabellenblatt aus einer Arbeitsmappe löscht, muss man bekanntlich eine Sicherheitsabfrage bestätigen, bevor dieser Vorgang tatsächlich ausgeführt wird. Zum Problem werden diese Warnmeldungen, wenn die entsprechenden Arbeitsschritte von einer VBA-Prozedur ausgeführt werden. Excel zeigt auch hier eine Warnmeldung an, die ich dem Anwender meines Makros natürlich nicht zumuten kann. Wie lässt sich das verhindern?

Lösung:

Excel verfügt über eine wenig bekannte Eigenschaft, mit der Sie dieses Problem elegant umgehen können: Sobald Sie die Eigenschaft "DisplayAlerts" des Application-Objektes auf "False" setzen, werden die Sicherheitsabfragen, die durch die nachfolgenden Anweisungen hervorgerufen werden könnten, unterdrückt. Also beispielsweise:

Sub BlattLoeschen()
  Application.DisplayAlerts=False
  ActiveSheet.Delete
End Sub


Mit dieser kleinen Prozedur wird das aktuelle Tabellenblatt ohne jede weitere Nachfrage gelöscht. Aber Achtung: Dieser Vorgang kann nicht wieder rückgängig gemacht werden; Sie sollten die Beispielprozedur daher mit Vorsicht einsetzen.

 

Tipps "n" Tricks
Anwender-Software - Excel