Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Hinweisfenster bei Fehler .. umgehen

VBA Hinweisfenster bei Fehler .. umgehen
17.09.2021 12:09:44
udo.d
Hallo Forum,
kann man Excel irgendwo voreinstellen, sodass - wenn ein Fehler im Code auftritt gleich der Editor mit der entsprechenden Stelle angezeigt wird -
ohne das zuvor dieses Abfrage Fenster ( mit beenden / bzw. debuggen ) aufpoppt.
Mit On Error GoTo ... kann ich ja nur direkte Sprünge veranlassen wohin die Prozedur dann ausweichen soll.
Da ich ja aber nicht weis wo ein Fehler auftauchen könnte, soll der Fehler einfach direkt angesprungen werden ( ohne diese Option einfach noch zu beenden ).
Kann ich das evtl. auch per Code unterdrücken ? ( also nicht ganz abschalten indem ich per Goto gleich an das Ende des Makros verweise )
LG Udo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Hinweisfenster bei Fehler .. umgehen
17.09.2021 12:17:35
EtoPHG
Hallo Udo,
Wieder einmal eine seltsame Anfrage von einem VBA Anfänger ;-)
Nein das kann nicht 'unterdrückt' werdem.
Mach Dich über das Error Handling in VBA im Netz klug, dann kannst du deinen Code so bauen, dass er mehr oder weniger 'bullet-proof' ist.
Gruess Hansueli
Anzeige
AW: VBA Hinweisfenster bei Fehler .. umgehen
17.09.2021 12:20:48
Matthias
Hallo,
mit ...

On Error Resume Next
... kannst Du fast alle Fehlermeldungen unterdrücken. (Direkt unter die SUB setzen)
Ob das für Dich Sinn macht, weiß ich nicht,
Gruß Matthias
lieben Dank ihr Beiden
17.09.2021 12:53:45
udo.d
... auch das du mich nicht mit " blutiger Anfänger " adelst ;-) :-D, nein, die ganzen OnErrorGoTo ... ResumeNext kenn ich,
ich dachte tatsächlich an eine Art Einstellung in irgendeinem Menü das meinen bescheidenen Anfänger-Kenntnissen
bislang verborgen blieb ... sei es über die Eigenschaft-Fenster der jew. Tab; W.Book oder A.Mappe, oder im VBA Editor selbst ... irgendwas in der Art
dachte ich ... nicht unbedingt im Code selbst - wobei mir letztlich der Weg hinzus egal wäre.
Wollte daraus auch keine Staatsangelegenheit machen, dachte vielleicht kennt hierzu Jemand einen Trick der nicht so offen publiziert ist bislang.
Sucht man im Netz danach ... stösst man zwangsläufig gleich auf ResumeNext oder Goto usw. ... wollte lediglich mir das ständige Anklicken auf "debuggen " sparen
solange ich an meinen Codes bastel und eh immer auf debuggen klicke.
Aber gut, nicht dramatisch, wollt nicht stören ;-D
lieben Dank trotzdem
Anzeige
@ Matthias
17.09.2021 12:59:21
udo.d
... Danke auch Dir, den Fehler wollte ich dabei schon sehen, wo es hängt, sozusagen direkter Sprung zum Fehler.
Halt nur ohne dieses Hinweisfenster zuvor ... nicht den Fehlermelder ganz deaktivieren dadurch / oder den Fehler ignorierern / überspringen.
Nur Hinweis aus ( dass es einen F. gibt ) und gleich debuggen zum Fehler hin ...
Vermute dass das wohl ein Wunsch bleibt, ging das gäbe es sicherlich etliche Beiträge um genau das,
aber Danke trotzdem
Euch ein schönes WE
Anzeige
du möchtest also einen Mausklick sparen.
17.09.2021 13:16:39
UweD
Mega.
LG
AW: du möchtest also einen Mausklick sparen.
17.09.2021 13:33:56
Daniel
wenn man testet können das viele Mausklicks werden.
Wenn man dann sowieso immer auf "Debuggen" klickt und nie was anderes, kann man da schon auf die Idee kommen, das zu optimieren.
genau das lieber Uwe !
17.09.2021 13:36:00
udo.d
deinem " Mega " entnehme ich das du offensichtlich keinen Drang hast - ernsthafte Fragen sinnvoll zu behandeln -
Diese Frage war eindeutig an Profies gerichtet ( in der Hoffnung dass man evtl. z.B. auch über eine Art einen Schlüsseleintrag in der Reg. / ändern / einträgt der dieses
Verhalten nun mal Folge dessen dann unterbinden würde ) sofern sowas ginge. Es gibt ja oft mehrere Wege. Ich kenn mich in dem Thema leider nicht spezifisch genug aus und bin so frei mich hier in einem Erwachsenen Forum daher hierzu gerne qualifiziert darüber zu informieren, oder mir durch eine ganz banale Fragestellung als
gerne auch Anfänger zu outen, hab ich kein Schmerz damit, mag sein dass das für Dich zu lapidar erscheint und dich in deiner Arithmetik nur quälender Weise langweilig tangiert - das tut mir leid, warum du dich gezwungen siehst dies zu kommentieren erschließt sich mir jetzt nicht - oder ist MEGA ein Befehl ?
Schulterklopf, Nichts für ungut ;-)
Anzeige
Das Einzige, was man machen kann und ...
18.09.2021 00:50:06
Luc:-?
…allenfalls nur sollte, Udo,
ist das Schreiben von On Error GoTo Fehler am PgmAnfang und als FehlerBehandlungsblock dann Fehler: Stop: Resume. Damit erreichst du, dass das Pgm (im NormalModus!) bei Stop anhält und im dann gewählten Einzelschritt-Modus zur Zeile mit dem Fehler springt. Gleichzeitig wird der Fehler gelöscht (Resume). Mit Resume Next würde stets die in der normalen PgmAbfolge nächste Zeile nach der FehlerZeile angesprungen wdn.
Das ist der iaR zur FehlerSuche nützliche Unterschied. Wenn das Pgm dann erst mal läuft, kommentierst du die Zeile einfach wieder aus (oder löschst sie).
Vergiss das Rumpfuschen an der Registry besser ganz schnell wieder…
Morhn, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige
Vielen Dank Luc
18.09.2021 07:21:32
Udo.d
Schönen guten Morgen Luc,
herzlichen Dank für deinen Tipp, werde mich dieses WE gerne mal daran versuchen, das mit der Reg. strebte ich selbstprobierend auch nicht wirklich an.
Nur ist mir auch bekannt dass man hierüber das eine oder andere Verhalten eben auch beeinflussen kann.
Daher war die Frage im Prinzip auch so offen gestellt, es gibt ja eben nicht immer nur den einen Weg, oft sind es die unscheinbaren
Lösungsansätze die dann doch auch ans Ziel führen können, lieben Dank nochmal,
schönes WE
Udo
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Hinweisfenster bei Fehler umgehen


Schritt-für-Schritt-Anleitung

Um das VBA Hinweisfenster bei Fehlern zu umgehen und direkt zum Fehler zu springen, kannst Du die folgende Methode nutzen. Diese Methode setzt voraus, dass Du ein grundlegendes Verständnis von VBA hast.

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Erstelle eine neue Sub-Prozedur oder öffne eine bestehende.

  3. Füge am Anfang Deiner Prozedur folgenden Code ein:

    On Error GoTo Fehler
  4. Definiere am Ende Deine Fehlerbehandlungsroutine:

    Fehler:
    Debug.Print "Fehler Nummer: " & Err.Number
    Resume
  5. Teste den Code, indem Du absichtlich einen Fehler einfügst, um zu sehen, wie das Programm direkt zur Fehlerbehandlungsroutine springt.

Diese Methode hilft Dir, die Fehlermeldungen zu steuern, ohne dass das Hinweisfenster für jeden Fehler aufpoppt.


Häufige Fehler und Lösungen

  • VBA Error 400: Wenn Du den Fehler "VBA Error 400" erhältst, kann das auf ein Problem mit Deinem Code hinweisen. Achte darauf, dass Du On Error Resume Next nicht übermäßig verwendest, da dies die Fehlersuche erschwert.

  • Debugger öffnet sich trotzdem: Wenn das Hinweisfenster trotz der Fehlerbehandlung erscheint, überprüfe, ob Du die Fehlerbehandlungsroutine korrekt definiert hast. Stelle sicher, dass On Error GoTo am Anfang Deiner Sub steht.


Alternative Methoden

Eine alternative Methode ist die Verwendung von On Error Resume Next. Diese Methode ignoriert Fehler und führt den Code im Normalfall weiter aus. Setze diese Zeile jedoch nur in solchen Bereichen ein, wo Du sicher bist, dass Fehler nicht kritisch sind, da sie die Fehlersuche erschwert.

On Error Resume Next

Eine andere Möglichkeit besteht darin, die Registry-Einstellungen zu ändern, um das Verhalten von Excel bei Fehlern zu beeinflussen. Dies sollte jedoch mit Vorsicht geschehen, da falsche Änderungen zu unerwartetem Verhalten führen können.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du das Fehlerhandling in einer Sub-Prozedur umsetzen kannst:

Sub BeispielFehlerhandling()
    On Error GoTo Fehler
    Dim result As Integer
    result = 1 / 0 ' absichtlicher Fehler
    Exit Sub
Fehler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    Resume
End Sub

Dieses Beispiel zeigt, wie Du mit einem absichtlichen Fehler umgehen kannst. Anstatt dass das Hinweisfenster aufgeht, wird eine Nachricht angezeigt, die den Fehler beschreibt.


Tipps für Profis

  • Nutze Debug.Print in Deiner Fehlerbehandlungsroutine, um Fehlerprotokolle zu erstellen. Dies hilft Dir, die Fehlerquellen besser zu identifizieren.
  • Achte darauf, die Fehlerbehandlungsroutine so schnell wie möglich zu verlassen, um unerwartete Probleme zu vermeiden.
  • Teste Deinen Code regelmäßig, um sicherzustellen, dass Dein Fehlerhandling wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Kann ich das Hinweisfenster komplett deaktivieren?
Nein, es ist nicht möglich, das Hinweisfenster vollständig zu deaktivieren. Du kannst jedoch die Anzeige von Fehlern durch geeignete Fehlerbehandlung reduzieren.

2. Was ist der Unterschied zwischen 'On Error Resume Next' und 'On Error GoTo'?
On Error Resume Next ignoriert den Fehler und fährt mit der nächsten Anweisung fort, während On Error GoTo zu einer definierten Fehlerbehandlungsroutine springt.

3. Wie kann ich den Fehlercode abrufen?
Du kannst den Fehlercode mit Err.Number abrufen, um spezifische Informationen über den aufgetretenen Fehler zu erhalten.

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