Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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

mit on error 2 goto mal Fehler abfangen

mit on error 2 goto mal Fehler abfangen
chris
Hallo VBA experten,
ich habe mal eine frage.Wollte gerade einmal on error Funktion testen.
leider klappt das nicht so wie ich es möchte.
ich habe unten stehenden Code.
on dieser Zeile "Cells(x, 1) = "test"" sprngt mein Makro zur Sprungmarke "fehler1:"
dann drücke ich mit F8(Einzelschritt) weiter bis zu dieser zeile "Cells(1, x) = "ok""
dann sollte meiner Meinung nach das Makro zur Sprungmarke "fehler2" springen.
Macht es aber nicht.Es kommt nur der Fehler laufzeitfehler 1004
Warum ? Wie ist das möglich was ich vor habe. Also das beim zweiten fehler zur zweiten Sprungmarke gesprungen wird ?
Vielen dank für eure Hilfe im voraus.
gruß Chris
Sub neu()
On Error GoTo fehler1
Cells(x, 1) = "test"
fehler1:
MsgBox ("1")
On Error GoTo 0
On Error GoTo fehler2
Cells(1, x) = "ok"
fehler2:
MsgBox ("2")
End Sub

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

Betreff
Benutzer
Anzeige
...Weil dieser Aufbau dir gar nichst nützt,...
14.09.2009 12:26:57
Luc:-?
...denn eine evtl vorhandene Fehlerreaktion wird schon am Proz'anfang erkannt und festgelegt, Chris!
Außerdem sehe ich in deiner Proz nichts, was einen Fehler auslösen könnte wie bspw Err.Raise 999999...
Gruß Luc :-?
X ist doch leer....(nicht sichtbar deklariert)
14.09.2009 12:43:27
NoNet
Moin Luc,

Außerdem sehe ich in deiner Proz nichts, was einen Fehler auslösen könnte 
Aber ich : die Variable X wurde zumindest nicht in diesem SUB deklariert und ist daher (vermutlich) LEER, so dass sie weder als Zeilen- noch als Spaltenindex der CELLS-Eigenschaft verwendet werden kann !
Mit der Bemerkung bzgl. des Error-Handlers hast Du vermutlich Recht - obwohl das in der OH nicht ausdrücklich erwähnt wird, dass keine zweite Fehlerbehandlung innerhalb der gleichen SUB möglich ist !
Lediglich folgender Satz ist wohl ein Hinweis darauf :
On Error GoTo 0 deaktiviert die Fehlerbehandlung in der aktuellen Prozedur.

Das lässt vermuten, dass eine erneute Aktivierung nun nicht mehr möglich ist, weshalb das 2.Errorhandling nicht mehr aktiv wird !
Gruß, NoNet
Anzeige
...Außerdem steht da wohl auch so etwas wie...
14.09.2009 13:18:03
Luc:-?
...in einer Fehlerbehandlung kann kein Fehler ausgelöst wdn, NoNet,
oder ...kann kein weiterer Fehler behandelt wdn...
Naja, egal, meine F-Behdl machen stets das, was sie sollen... ;-)
Gruß (auch an Erich oder war's Rudi...?), Luc :-?
on error goto - zwei mal Fehler abfangen
14.09.2009 12:56:02
Erich
Hi Chris,
vielleicht ist das Fehlerhandling so etwas klarer:

Option Explicit      ' immer zu empfehlen
Sub neu2()
Dim x As Long
On Error GoTo fehler1
Cells(x, 1) = "test"
On Error GoTo fehler2
Cells(x, 1) = "ok"
fehler1:
MsgBox ("1")
On Error GoTo 0
Err.Clear
Resume Next
fehler2:
MsgBox ("2")
On Error GoTo 0
End Sub
Sub neu3()
Dim x As Long
On Error GoTo fehler1
Cells(x, 1) = "test"
On Error GoTo fehler2
Cells(x, 1) = "ok"
MsgBox "Fertig"
Exit Sub
fehler1:
MsgBox ("1")
On Error GoTo 0
Err.Clear
Resume Next
fehler2:
MsgBox ("2")
On Error GoTo 0
Err.Clear
Resume Next
End Sub
@Luc: Dass x=0 schon für einen Fehler sorgt, hat NoNet dier ja schonb geschrieben...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: on error goto - zwei mal Fehler abfangen
14.09.2009 14:07:38
chris
Hallo vielen dank an ale Antworter !!!!
Das ich die variable nicht deklariert habe war absicht.
Wollte ja in meinem beispiel einen fehler Provozieren.
Hallo erich,
super Beispiel.
Genau so wollte ich das mal sehen.
Jezt verstehe ich die on error schon viel besser :)
danke an alle und schönen Tag noch !

174 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige