Grüezi
Ich habe ein Makro in Tabelle in Excel 2000. Dies wird ab Symboliste der Tabelle gestartet. Bei Fehler in der Eingabe habe ich eine Msgbox programmiert. Kann man nach OK der MsgBox das Makro zurücksetzen ohne den VBA Editor zu öffnen.
Vielen Dank zum voraus
Hallo in die Schweiz,
wenn man Makros bei Fehler oder nach Prüfung von Eingaben kontrolliert beenden möchte, dann kann man ein Makro nach folgendem Schema aufbauen.
Nach einem Fehler wird dabei immer an eine bestimmte Adresse in der Prozedur gesprungen oder man beendet/verlässt die Prozedur.
Gruß
Franz
Sub aaTest()
'Variablen-Deklarationen
Dim wb As Workbook, arrData(), sDatei As String
'generelle Anweisung was bei einem Fehler passieren soll
On Error GoTo Fehler
'Codezeilen für die auszuführenden Anweisungen
sDatei = "C:\Users\Public\Test\Meine Arbeitsliste.xls"
'Beispiel für Prüfung und Makroabbruch
If Dir(sDatei) = "" Then
MsgBox "Die Datei """ & sDatei & """ existiert noch nicht!" & vbLf \_
& "Makro wird abgebrochen", vbInformation, "Fehler im Makro ""aaTest"""
GoTo Beenden
'oder direkt Prozedur verlassen
Exit Sub
'oder ggf.
End 'Benutzung mit Vorsicht, siehe Infos unter VBA-Hilfe
End If
Set wb = Workbooks.Open(Filename:=sDatei)
ReDim arrData(1 To 1000)
'usw.
'...
'...
'Fehlerbehandlung
Fehler:
With Err
Select Case .Number
Case 0 'Alles ok
Case 9999 'Aktionen bei dieser Fehler-Nr
'Siehe VBA-Hilfe "Error" und "Resume" "Resume Next" etc.
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
Beenden:
'ggf. Zurücksetzen von Einstellungen nach einem Makro-Fehler
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
'ggf. Variablen aufräumen
Set wb = Nothing
Erase arrData
End Sub