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

ErrorHandler richtig codiert?

ErrorHandler richtig codiert?
27.10.2021 10:31:39
Eisi
Guten Morgen,
mich würde gerne Eure Meinung interessieren, ob man den Code so gestalten kann, wenn man bei einem Fehler im <pre>Sub komplett aussteigen will?
Der Code funktioniert, aber ich möchte den Code so gestalten wie es sich gehört, d. h. muss er optimiert werden?
Danke für das Feedback.
VG Eisi :-)
<pre>Sub BeiFehlerExitSubMitMsgBOX()
On Error GoTo ErrorHandler
'DIM ....
'DIM ....
'DIM ....
Application.ScreenUpdating = False
tbl_AngebotDrucken.Unprotect ("")
'Codezeilen
'.......................
'.......................
'.......................
'.......................
tbl_AngebotDrucken.Protect ("")
Application.Goto tbl_1_Kalkulation.Range("A13")
Application.ScreenUpdating = True
' Anfang: Fehler abfangen ************************************************************************************************************
ErrorHandler: MsgBox "Wenn im Blatt *AngebotDrucken* der Schlusstext bereits eingefügt wurde, so kann keine weitere" _
& " Position mehr hinzugefügt werden." _
& vbLf & vbLf & "Lösung:" & vbLf & vbLf & "Drücke auf den Button: *Neues Angebot erstellen* und fange mit" _
& " den Positionen an." & vbLf & "Erst wenn alle Positionen ausgewählt wurden, kann im *AngebotDrucken* der" _
& " Schlusstext hinzugefügt werden.", , "Fehlermeldung"
Application.CutCopyMode = False
Application.Goto tbl_1_Kalkulation.Range("A13")
Exit Sub
' Ende: Fehler abfangen **************************************************************************************************************
End Sub</pre>

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ErrorHandler richtig codiert?
27.10.2021 10:54:57
ChrisL
Hi
On Error sollte in meiner Denkweise nur unvorhergesehene Fehler abfangen und die Fehlermeldung wäre generisch, weil Fehler aus unterschiedlichen Gründen auftreten können.
In deinem Fall sieht es so aus, als ob du eine ganz bestimmte Konstellation abfangen möchtest. Dies wäre dann eher über eine If..Then Prüfung ohne Error-Handling zu erledigen.
Meine Aussage versteht sich sehr allgemein. Manchmal kann es entgegen dem erwähnten Grundsatz sinnvoll/praktisch sein, etwas Quick&Dirty über ein ErrorHandling abzufangen.
cu
Chris
AW: ErrorHandler richtig codiert?
27.10.2021 11:06:39
Eisi
Hallo Chris,
danke für die Idee. Merke ich mir.
Der Grund für meinen Weg:
In meinem Fall ist es so, dass eigentlich immer zuerst alle Positionen kalkuliert werden und dann der Schlusstext kommt.
Wenn der User am Ende aber noch merkt, da fehlt eine Position, dann ist es zu spät, wenn der Schlusstext bereits ausgewählt wurde.
Um das vorher beim User jedesmal abzufragen geht wahrscheinlich, aber dann wird das Programm noch aufwändiger.
Vielen Dank für Deine Idee, gefällt mir.
GLG Eisi :-)
Anzeige
AW: ErrorHandler richtig codiert?
27.10.2021 12:12:53
GerdL
Moin

Sub Unit()
'Variablendeklarationen
If Not "Wenn im Blatt *AngebotDrucken* der Schlusstext bereits eingefügt wurde" Then
On Error GoTo Errorhandler
tbl_AngebotDrucken.Unprotect ("")
'weiterer Code
tbl_AngebotDrucken.Protect ("")
Else
MsgBox "Gehe jetzt raus!"
End If
Exit Sub
Errorhandler:
Err.Clear
' Code, der bei Fehler trotzdem noch laufen muss
tbl_AngebotDrucken.Protect ("")
End Sub
Gruß Gerd
AW: ErrorHandler richtig codiert?
27.10.2021 12:56:15
Eisi
Hallo Gerd,
danke für die Info, merke ich mir auch.
Vielen Dank.
GLG Eisi :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige