Probleme mit ErrorHandler



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Probleme mit ErrorHandler
von: Steph@n
Geschrieben am: 13.05.2002 - 16:03:15

Hallöle,

habe in etwa folgendes Coding:

Sub Test()

For Each rngZelle in [rngBereich]

on Error GoTo Errorhandler
...Coding...

NächsteZelle:
Next rngZelle

Errorhandler:
If Err.Number = 91 then
GoTo NächsteZelle
End If

Jetzt habe ich damit folgendes Problem:
Tritt der Fehler das erste Mal auf, zieht die Fehlerbehandlung. Läuft das Programm dann beim nächsten Schleifendurchlauf wieder auf den Fehler, zieht die Fehlerbehandlung nicht mehr! Es erscheint das Fehlerfenster!

Was muss ich Coding verändern bzw. beachten, damit die Fehlerbehandlung immer zieht, egal wie oft er auf den Fehler trifft?

Vielen Dank für Eure Hilfe!

Gruss Stephan

nach oben   nach unten

Re: Probleme mit ErrorHandler
von: Volker Croll
Geschrieben am: 13.05.2002 - 16:29:14

Hallo Stephan,

stetze mal, nach "NächsteZelle" ein "on Error GoTo Errorhandler".

Denke mal diese Fehlerbehandlung ist insgesamt etwas ungluecklich, ist aber mit Codeschnippseln schwer zu beurteilen.

Gruss Volker


nach oben   nach unten

Re: Probleme mit ErrorHandler
von: mathias r.
Geschrieben am: 13.05.2002 - 17:18:30

Besser ist es auch vor der Stelle an der der Fehler auftreten kann die Fehlerursache abzufragen bzw. abzufangen. Der Fehler 91 ist "Objektvariable oder With-Blockvariable nicht festgelegt". Dies läßt sich testen mit z.B.


nach oben   nach unten

Re: Probleme mit ErrorHandler
von: Steph@n
Geschrieben am: 14.05.2002 - 08:34:56

Hallo Volker,


Dein Tipp hat leider nicht funktioniert!
Du Hast gesagt, meine Fehlerbehandlung ist nicht sehr glücklich gewählt! Anbei mal das komplette Coding. Vielleicht kannst Du mir ja einen Tipp geben, wie ich es abändern muss, um den gewünschten erfolg zu erzielen!
Mit dem Makro soll folgendes erreicht werden:
Habe auf dem Sheet "Zuordnung SKTO_BuKr" alle Sachkonten und ihre Zuordnung zu Buchungskreisen. (Je BuKr eine Spalte und in den Zeile die Konten). Auf dem Scheet "Zu löschende Konten" habe ich eine Spalte, die eine Auflistung von Sachkonten enthält.
Das Makro soll mir jetzt auf diesem Sheet hinter das jeweilige Konto schreiben, welchen Buchungskreisen es zugeordnet ist. Dies habe ich hier mit Hilfe der Suchfunktion versucht zu realisieren.
Aber sobald ein Konto garnicht auf dem Blatt enthalten ist, kommt der Fehler 91, den ich über die Fehlerroutine abfangen will, was ja leider nicht klappt!

https://www.herber.de/mailing/ENDCODE#h.htm


Vielen Dank für Deine Hilfe!

Gruss Steph@n

nach oben   nach unten

Re: Probleme mit ErrorHandler
von: Steph@n
Geschrieben am: 14.05.2002 - 08:37:58

Hallo Matthias,

Habe unter Volkers Antwort mal mein Coding eingestellt. Bin mir nicht ganz sicher, wie ich Deinen Tipp dort einbauen könnte!

Gruss Stephan


nach oben   nach unten

neuer Code
von: mathias r.
Geschrieben am: 14.05.2002 - 09:22:38

Hallonochmal,

ich habe deinen Code etwas überarbeitet. Das Grundprinzip ist, daß die Find Methode einen Wert zurückgibt. Und zwar den Range der gefundenen Zelle bzw. Nothing wenn nichts gefunden wurde.
Deinen Abschnitt "weitersuchen" habe ich nicht verstanden weil er nichts macht wenn die zelle nicht gefärbt ist.
Außerdem habe ich die Select-Befehle rausgeschmissen. Die sollte man vermeiden, da sie Zeit kosten und ein Flimmern verursachen(was man allerdings durch den Befehl Application.Screenupdating=false abschalten könnte)
Hier erstmal mein Code:



nach oben   nach unten

neuer Code
von: mathias r.
Geschrieben am: 14.05.2002 - 09:31:03

Hallonochmal,

ich habe deinen Code etwas überarbeitet. Das Grundprinzip ist, daß die Find Methode einen Wert zurückgibt. Und zwar den Range der gefundenen Zelle bzw. Nothing wenn nichts gefunden wurde.
Deinen Abschnitt "weitersuchen" habe ich nicht verstanden weil er nichts macht wenn die zelle nicht gefärbt ist.
Außerdem habe ich die Select-Befehle rausgeschmissen. Die sollte man vermeiden, da sie Zeit kosten und ein Flimmern verursachen(was man allerdings durch den Befehl Application.Screenupdating=false abschalten könnte)
Hier erstmal mein Code:



nach oben   nach unten

Re: neuer Code
von: Steph@n
Geschrieben am: 14.05.2002 - 10:03:40

Hallo Matthias,,


Dein Ansatz funktioniert, aber ich brauche unbedingt auch die "Weitersuchen-Funktionalität", da das Konto ja in verschiedenen Buchungskreisen vorkommen kann, und ich alle BuKr aufgelistet bekommen möchte!
Mit Deinem Coding suchr er das Konto genau einmal und sobald er es gefunden hat, sucht er nach dem nächsten Konto. Er müste aber weitersuchen, ob das Konto vielleicht nochmal in einem anderen BuKr vorkommt.
Das wollte ich mit der Weitersuchen-Funktionalität realisieren und um sicherzustellen, dass er nicht unendlich lange immer wieder die selben Konton findet, habe ich die gefundenen "rot" dargestellt.
Sobald er auf ein rotes trifft, geht er zum nächsten Konto über!
Habe versucht das wieder in Dein Coding aufzunehmen, aber irgendwas ist noch falsch! Hast Du ne Idee?


Vielen Dank!

Gruss Steph@n

nach oben   nach unten

mit weitersuchen
von: mathias r.
Geschrieben am: 14.05.2002 - 11:31:56


nach oben   nach unten

Danke es funkt! :-) o.T.
von: Steph@n
Geschrieben am: 14.05.2002 - 13:16:50


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Formeln nach unten kopieren bis anzugebender Zeile"