Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

DisplayAlerts = false funktioniert nicht

Forumthread: DisplayAlerts = false funktioniert nicht

DisplayAlerts = false funktioniert nicht
27.10.2020 23:58:51
Norman
Hallo alle,
Frage: Ich greife per VBA auf ein Diagramm zu:
Application.DisplayAlerts = False
On Error GoTo nogo
Dim coitem As ChartObject
Dim cgitem As ChartGroup
Dim scitem As Series
If oxlwsheet.ChartObjects.count > 0 Then
For Each coitem In oxlwsheet.ChartObjects
For Each cgitem In coitem.Chart.ChartGroups
...
Sobald auf coitem.Chart.ChartGroups zugegriffen wird, erscheint folgende Fehlermeldung:
"Excel hat ein Problem bei mindestens einem Formelbezug in dieser Arbeitsmappe festgestellt. ... bla bla bla".
Die Fehlermeldung ist richtig un stört mich auch nicht, ich brauche auch keine Hilfe bei der Beseitigung des Fehlers. Das bekomme ich hin.
ABER: Wie ihr sehen könnt steht oben:
Application.DisplayAlerts = false
Wieso erscheint die Meldung dann trotzdem? Gibts eine Möglichkeit die Meldung zu unterdrücken? Wieso funktioniert DisplayAlerts = false hier nicht?
Habt ihr Ideen?
Ich wollte dann eine Testdatei hochladen und habe dafür einfach den Code in die Testdatei reingepackt. Ging mit der Testdatei. Häh, wieso das denn?
Dann habe ich weiter gebaut und jetzt an der gleichen Stellen das Problem, nur stürzt Excel jetzt ab. Ich denke aber, dass beide "Probleme" zusammen hängen. Er stürzt nämlich in der Testdatei genau da ab, wo in meiner Datei die Meldung "Excel hat ein Problem bei mindestens....". Irgendwas ist da richtig faul...
Im Anhang findet ihr zwei Dateien. Geht mal wie folgt vor (Office 365 / Excel 2016)
1) Erst DiagrammTest.xls öffnen, danach Diagramm.xls
2) Dann mit ALT F11 rüber in VBA und in DiagrammTest.xls im Modul1 die Funktion TestOK2009() starten (Cursor auf sub TestOK2009() und F5)
3) Läuft durch, debug info wird ausgegeben im Direktbereich --> Alles GUT
Jetzt macht ihr das ganze umgekehrt
1) Erst Diagramm.xls öffnen. Dann DiagrammTest.xls öffnen
2) Excel stürzt ab --> Nix GUT
In DiagrammTest.xls ist ein auto_open drin, das einfach nur TestOK2009 aufruft.
https://www.herber.de/bbs/user/141135.zip
Wie gesagt, dann stürzt Excel ab. Weiß jemand warum?
Bin für Antwort zu beidem dankbar (DisplayAlerts und Absturz)
Viele Grüße
Norman
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DisplayAlerts = false funktioniert nicht
28.10.2020 01:27:10
ralf_b
die Fehlermeldung hat nichts mit displayalerts zu tun. Lies in der Hilfe nach. displayalerts reagiert nur bei bestimmten Sachen wenn ein Makro ausgeführt wird.
Gibt es einen Grund warum du nicht das xlsx bzw xlsm format benutzt?
AW: DisplayAlerts = false funktioniert nicht
28.10.2020 13:34:34
Norman
Hi Ralf,
danke für die Antwort. Jetzt weiß ich, was nicht geht, hast Du einen Tipp für mich, wie man die Meldung unterdrücken kann? Die Hilfe hilft mir da nicht.
Nein, hat keinen besonderen Grund mit XLS. Stürzt es denn bei Dir ab?
Viele Grüße
Norman
Anzeige
AW: DisplayAlerts = false funktioniert nicht
28.10.2020 14:09:53
ralf_b
repariere deine Datei.
bei der Nutzung von Dateien ,die in früheren Versionen von Excel erstellt wurden, gibt es öfter mal Probleme. Speichere die Datei als xlsx oder xlsm je nachdem ob vbacode drin ist.
beim vba code wird in einer deiener Datei das auto_open benutzt. Das ist veraltet. Setze in der neuen Datei den Code ins Workbook_open event Makro.
Wenn du die neue Datei öffnest und es wird nicht als Datei im Kompatibilitätsmodus angezeigt, sollte es auch keine Fehlermeldung mehr geben.
Ich kann es zwar nicht 100%ig genau nachvollziehen aber bei meinen Tests ging das so.
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

DisplayAlerts in Excel VBA effektiv nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Erstelle ein neues Modul: Rechtsklicke auf dein Projekt im Projekt-Explorer und wähle „Einfügen“ > „Modul“.

  3. Füge den folgenden Code ein:

    Sub Beispiel()
       Application.DisplayAlerts = False
       ' Beispielcode hier einfügen
       Application.DisplayAlerts = True
    End Sub
  4. Teste den Code: Führe den Code aus, um zu sehen, ob die DisplayAlerts-Funktion wie gewünscht arbeitet.


Häufige Fehler und Lösungen

  • Fehlermeldung trotz DisplayAlerts = False:

    • Diese Meldung kann auftreten, wenn du auf Objekte zugreifst, die nicht durch DisplayAlerts unterdrückt werden. Die Funktion DisplayAlerts in Excel VBA ist nicht in allen Fällen wirksam. Beispielsweise wird sie nicht bei schwerwiegenden Fehlern wie „Excel hat ein Problem bei mindestens einem Formelbezug“ genutzt.
  • Excel stürzt ab:

    • Wenn Excel beim Zugriff auf bestimmte Objekte abstürzt, könnte dies an der Verwendung von veralteten Formaten (z.B. .xls) liegen. Speichere deine Datei als .xlsx oder .xlsm, um Kompatibilitätsprobleme zu vermeiden.

Alternative Methoden

Wenn Application.DisplayAlerts = False nicht funktioniert, kannst du folgende Alternativen ausprobieren:

  • Fehlerbehandlung: Verwende On Error Resume Next vor dem Problemcode, um Fehler zu ignorieren.

    On Error Resume Next
    ' Code hier
    On Error GoTo 0
  • Verwendung von Workbook_Open: Anstatt Auto_Open zu verwenden, solltest du den Code im Workbook_Open-Ereignis platzieren. Dies funktioniert besser in neueren Excel-Versionen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du DisplayAlerts in einem Skript verwenden könntest:

Sub LöschenBeispiel()
    Application.DisplayAlerts = False
    Worksheets("Daten").Delete
    Application.DisplayAlerts = True
End Sub

In diesem Beispiel wird das Löschen eines Arbeitsblatts vorgenommen, ohne dass eine Bestätigungsaufforderung erscheint.


Tipps für Profis

  • Verwende Application.DisplayAlerts nur wenn nötig: Da diese Funktion nicht in allen Fällen funktioniert, sei vorsichtig bei ihrer Anwendung.
  • Debugging: Wenn du Probleme hast, dass ALT + F11 nicht funktioniert, stelle sicher, dass du die richtige Excel-Version hast und dass keine anderen Makros im Hintergrund aktiv sind.
  • Aktualisiere deine Excel-Version: Manchmal behebt ein Update Probleme, die durch Bugs in älteren Versionen verursacht wurden.

FAQ: Häufige Fragen

1. Warum funktioniert Application.DisplayAlerts = False nicht?
DisplayAlerts funktioniert nicht bei schwerwiegenden Fehlern oder wenn Excel auf kritische Probleme stößt, wie z.B. „Excel hat ein Problem bei mindestens einem Formelbezug“.

2. Wie kann ich Excel zum Absturz bringen?
Es wird nicht empfohlen, Excel absichtlich zum Absturz zu bringen. Überleg dir stattdessen, deine Datei in ein neueres Format zu speichern, um Abstürze zu vermeiden.

3. Was ist der Unterschied zwischen Auto_Open und Workbook_Open?
Auto_Open ist eine veraltete Methode zur Ausführung von Makros beim Öffnen einer Datei. Workbook_Open ist die modernere und zuverlässigere Methode in Excel VBA.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige