Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehler abfangen

Betrifft: Fehler abfangen
von: Stefan
Geschrieben am: 16.04.2003 - 08:18:50

Hallo,

ich möchte beim öffnen einer Tabelle die Fehlermeldung abfangen, sollte die zu öffnende Datei nicht vorhanden sein. Habe folgenden Code (Beispiel), der aber nicht funzt. Er zeigt sofort die MsgBox an, obwohl alle Daten zum Pfad stimmen.

Sub Makro1()
Dim sFile$
sFile = "C:\" & Range("A1").Value & ("\") & Range("A2").Value
If Dir(sFile) = "" Then
MsgBox "Tabelle nicht gefunden!"
Exit Sub
Else
Workbooks.Open Filename:=sFile
End If
End Sub

Kann mir da bitte einer helfen.

Gruß
Stefan

  

Re: Fehler abfangen
von: Ramses
Geschrieben am: 16.04.2003 - 08:28:51

Hallo,

was steht denn in A1 und A2 ?

Gruss Rainer

  

Re: Fehler abfangen
von: Yal
Geschrieben am: 16.04.2003 - 08:32:52

Fehler werden im allg. durch On Error ... abgefangen (mehr im Excel Hilfe).
Eine komplette Behandlung von Fehlern kann z.B. nach folgende Muster implementiert


Private Function Test_TryCatchMethodik() As Long
' Erstellt: Yal
' am: 16.04.2003
' Zweck:
' Rückgabe: null bei Erfolg

' Tracing:
Const FNAME = "TestModul.Test_TryCatchMethodik()"
Debug.Print Time & " " & FNAME

' Variable Definition
Dim ScreenUpdatingValue As Boolean
Dim ErrMsg As String

' Runtime Code
On Error GoTo Catch
Try:
ScreenUpdatingValue = Application.ScreenUpdating
Application.ScreenUpdating = False '/True
'Code

'Exit
GoTo Finally
Catch:
Select Case Err.Number
'hier spezifische case einbauen
Case Else
'allg. Eintrag
ErrMsg = "abgefangene Fehler in " & FNAME & ": " & vbCr & vbCr & _
"ErrNr: " & vbTab & Err.Number & vbCr & _
"Quelle: " & vbTab & Err.Source & vbCr & _
"Beschr.:" & vbTab & Err.Description
Debug.Print ErrMsg
MsgBox ErrMsg
End Select
Resume Next
Finally:
Application.ScreenUpdating = ScreenUpdatingValue
'Application.DisplayAlerts = True
End Function 'Test_TryCatchMethodik

Hergestellt mit Hilfe von GhostTyper (freeware, www.GhostTyper.de), kann ich nur empfehlen!

Yal



  

Re: Fehler abfangen
von: Stefan
Geschrieben am: 16.04.2003 - 08:33:20

Hallo Ramses,

in A1 steht temp und in A2 steht Test1. Soll also die Datei C:\temp\Test1 öffnen.

  

Na also....
von: Ramses
Geschrieben am: 16.04.2003 - 08:35:48

Hallo,

...das sollte der Fehler sein.

Ein Datei "Test" gibt es nicht,... es gibt höchsten "Test.xls"

Gruss Rainer

  

Re: Na also....
von: Stefan
Geschrieben am: 16.04.2003 - 08:42:04

Na klar man....

Sub Makro1()
Dim sFile$
sFile = "C:\" & Range("A1").Value & ("\") & Range("A2").Value & (".xls")
If Dir(sFile) = "" Then
MsgBox "Tabelle nicht gefunden!"
Exit Sub
Else
Workbooks.Open Filename:=sFile
End If
End Sub

... und schon geht das
Danke vielmals und schönen Tag noch

Gruß
Stefan

  

Geht doch :-)) o.T.
von: Ramses
Geschrieben am: 16.04.2003 - 08:42:48

...

 

Beiträge aus den Excel-Beispielen zum Thema "Fehler abfangen"