Hallo KurtKurt57
da sagst du bist ein Bastler, dann probiere meinen geändertenCode doch einfach mal aus. Was soll dabei gross passieren??
In der Literatur von Microsoft findest du die Beschreibung von Fehlerbehandlungen, falls Excel einmal abstürzt. Das ist extra vorgesehen um Laufzeitfehler zu ver,eiden! Sie durch eine Fehlerbehandlung abzufangen. Ganz wichtig ist bei Application.EnableEvents das du versteht, die Events bleiben solange abgeschaltet, bis das Makro sie am Ende wieder einschaltet!! Ich hoffe das hast du verstanden, oder?? Abgeschaltet ffür unbegrenzte Zeit!!
Stürzt Excel dann mit einer Fehlermeldung ab, wer schaltet die EnasbleEvents dann bitte wieder ein??? Verstehst du jetzt warum Excel wieder funktionierte wenn du die Datei geschlossen hast, und sie wieder Öffnest? Excel ist ein Programm, und das kann nicht selbst denken, verhält sich absolut korrekt gemäss seiner Befehle!!
Es ist die Aufgabe des Programmierers solche Fehler abzufangen. Damit weiss ich immer noch nicht WAS ihn verursacht???
Aber die Events werden bei meinem Code vor der MsgBox Fehlermeldung wieder eingeschaltet, damit das Makro wiieder funktioniert. Das ist alles!
mfg Gast 123
Hallo
die With Klammer hat bei VBA den Sinn die Schreibweise der Syntax zu verkürzen. Steht dort With Application dann achte auf alle Nachfolgenden Zeilen die mit einem Punkt beginnen. Diese Befehle beziehen sich alle auf das With, dann braucht man den Text nicht mehr zu schreiben! Das siehst du am Anfang beim Befehl .EnableEvents = False und vor Ende With wird wieder eingeschaltet mit .EnableEvents = True Ich denke das verstehst du jetzt.
Im Fehlerfall musste ich dashalb bei dem Label Fehler:, mit Doppelpunkt als Sprungmarke für den Fehlerfall die volle Syntax schreiben. Mit Application.EnableEvents = True zum Wiedereinschalten der Events. Das sind auslösende Ereignisse, wie eine Zelle anklicken oder was eingeben usw.
Was den eigentlichen Fehler bei Target auslöst ist mir noch unklar, aber das Makro läuft bei meinem Code weiter. Es meldet nur das es im Fehlerfall nicht vollständig ausgeführt wurde, weil es durch die Fehlerroutine abgebrochen wurde. Den Fehlker selbst muss man dann noch suchen bis man ihn findet.
Bekannte Errorbehandlungen von Microsoft sind:
On Error Goto 0 setzt die Fehlermeldung auf Null
On Error GoTo Fehler Spriung zur Fehlerbehandlung, statt Fehler kann da auch ERRORHANDLING stehen
On Error Resume Next überspringt den Fehlker und macht im Code weiter
Err.Clear oder Err = 0 löscht die interne Fehler Nummer, als Laufzeitfehler bekannt
Beobachte bitte mal was du genau machst wenn eine Fehlermeldung kommt. Vielleicht verstehen wir dann was ihn auslöst. Beobachten ist sehr wichtig.
mfg Gast 123
da sagst du bist ein Bastler, dann probiere meinen geändertenCode doch einfach mal aus. Was soll dabei gross passieren??
In der Literatur von Microsoft findest du die Beschreibung von Fehlerbehandlungen, falls Excel einmal abstürzt. Das ist extra vorgesehen um Laufzeitfehler zu ver,eiden! Sie durch eine Fehlerbehandlung abzufangen. Ganz wichtig ist bei Application.EnableEvents das du versteht, die Events bleiben solange abgeschaltet, bis das Makro sie am Ende wieder einschaltet!! Ich hoffe das hast du verstanden, oder?? Abgeschaltet ffür unbegrenzte Zeit!!
Stürzt Excel dann mit einer Fehlermeldung ab, wer schaltet die EnasbleEvents dann bitte wieder ein??? Verstehst du jetzt warum Excel wieder funktionierte wenn du die Datei geschlossen hast, und sie wieder Öffnest? Excel ist ein Programm, und das kann nicht selbst denken, verhält sich absolut korrekt gemäss seiner Befehle!!
Es ist die Aufgabe des Programmierers solche Fehler abzufangen. Damit weiss ich immer noch nicht WAS ihn verursacht???
Aber die Events werden bei meinem Code vor der MsgBox Fehlermeldung wieder eingeschaltet, damit das Makro wiieder funktioniert. Das ist alles!
mfg Gast 123
Hallo
die With Klammer hat bei VBA den Sinn die Schreibweise der Syntax zu verkürzen. Steht dort With Application dann achte auf alle Nachfolgenden Zeilen die mit einem Punkt beginnen. Diese Befehle beziehen sich alle auf das With, dann braucht man den Text nicht mehr zu schreiben! Das siehst du am Anfang beim Befehl .EnableEvents = False und vor Ende With wird wieder eingeschaltet mit .EnableEvents = True Ich denke das verstehst du jetzt.
Im Fehlerfall musste ich dashalb bei dem Label Fehler:, mit Doppelpunkt als Sprungmarke für den Fehlerfall die volle Syntax schreiben. Mit Application.EnableEvents = True zum Wiedereinschalten der Events. Das sind auslösende Ereignisse, wie eine Zelle anklicken oder was eingeben usw.
Was den eigentlichen Fehler bei Target auslöst ist mir noch unklar, aber das Makro läuft bei meinem Code weiter. Es meldet nur das es im Fehlerfall nicht vollständig ausgeführt wurde, weil es durch die Fehlerroutine abgebrochen wurde. Den Fehlker selbst muss man dann noch suchen bis man ihn findet.
Bekannte Errorbehandlungen von Microsoft sind:
On Error Goto 0 setzt die Fehlermeldung auf Null
On Error GoTo Fehler Spriung zur Fehlerbehandlung, statt Fehler kann da auch ERRORHANDLING stehen
On Error Resume Next überspringt den Fehlker und macht im Code weiter
Err.Clear oder Err = 0 löscht die interne Fehler Nummer, als Laufzeitfehler bekannt
Beobachte bitte mal was du genau machst wenn eine Fehlermeldung kommt. Vielleicht verstehen wir dann was ihn auslöst. Beobachten ist sehr wichtig.
mfg Gast 123