Don hat recht.
Esgibt für Dich 2 Möglichkeiten. Da Du ja schon weisst, dass das Ding abschmiert, starte im Debug Mode und du wirst exakt an der Absturzstelle sehen, was schief läuft.
Alternativ kannst (solltest!) Du auch im ReleaseMode mit MaFu´s Methode arbeiten. Aus deiner Fragestellung lese ich ein wenig heraus, dass Du aber nicht genau weisst,
wo es schief läuft. Wenn du wenigstens weisst, in welcher SUB, dann bietet sich folgende Lösung an.
Sub DeineRoutine
TRY
.. Der Inhalt deiner jetzigen Sub (ohne SubEnd)
CATCH
MsgBox(lastexception.message,"")
END TRY
End Sub
Dann siehst Du auf jeden Fall schon einmal beim Crash die verwertbare Fehlermeldung.
Diese Resume Next Geschichte kenne ich auch noch von früher, finde sie aber sehr gefährlich und bin froh, dass es sie hier nicht gibt, da man sehr
schnell schlampig programmiert und auftretende Fehlermeldungen nicht mehr wahrnimmt. Das Programm lief dann früher weiter mit eventuell falschen
Variablenbelegungen und die Kette der Fehler nimmt unproportional zu. So bist du einfach gezwungen, Fehler zu BEHEBEN, anstatt sie unter den
Teppich zu kehren.
Und eigentlich ist ja diese TRY/CATCH Methode eine Art Resume Next Methode.
Wenn man genau weiss, dass an bestimmten Stellen z.b. I/O Probleme auftreten, die
man nicht beachten muss, fängt man sie vor der Ausführung mit TRY ab und lässt den Catch Block einfach leer.
Gruss
Holger