Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro beenden, wenn Fehler

Makro beenden, wenn Fehler
14.03.2008 10:30:00
Flo
Guten Morgen,
Wie kann ich bewirken, dass wenn bei einer Makro-Zeile (gleich die erste) ein Fehler auftritt (subscript out of range), das Makro einfach schmerzfrei beendet wird ?

Sub bla_bla
Sheets("blabla").Visible = True
End Sub


vielen Dank für Eure Hilfe,
F

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro beenden, wenn Fehler
14.03.2008 10:32:36
Mario
Hi,
versuche es mal damit:

Sub bla_bla()
On Error GoTo Ende
Sheets("blabla").Visible = True
Ende:
End Sub


AW: Makro beenden, wenn Fehler /THANKS!
14.03.2008 10:34:00
Flo
passt!

kurz und schmerzlos
14.03.2008 10:34:56
Matthias
Hallo

Sub bla_bla()
On Error GoTo Ende
Sheets("blabla").Visible = True
Ende:
End Sub


Gruß Matthias

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro beenden, wenn ein Fehler auftritt


Schritt-für-Schritt-Anleitung

Um ein Makro zu beenden, wenn ein Fehler auftritt, kannst du die On Error-Anweisung in deinem VBA-Code verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Schreibe den folgenden Code:
Sub bla_bla()
    On Error GoTo Ende
    Sheets("blabla").Visible = True
Ende:
End Sub
  1. Schließe den VBA-Editor und teste das Makro. Wenn der Sheet-Name "blabla" nicht existiert, wird das Makro einfach beendet, ohne einen Fehler anzuzeigen.

Häufige Fehler und Lösungen

  • Fehler: "Subscript out of range"

    • Dieser Fehler tritt auf, wenn du versuchst, auf ein Blatt zuzugreifen, das nicht existiert. Stelle sicher, dass der Blattname korrekt ist.
  • Fehler: Makro wird nicht beendet

    • Wenn das Makro nicht ordnungsgemäß beendet wird, überprüfe, ob die On Error GoTo Anweisung korrekt platziert ist und dass du am Ende des Codes einen Sprungpunkt (z.B. Ende:) hast.

Alternative Methoden

Eine alternative Möglichkeit, ein VBA-Skript abzubrechen, besteht darin, die Exit Sub-Anweisung zu verwenden. Du kannst die Struktur wie folgt anpassen:

Sub bla_bla()
    If Not Evaluate("ISREF(Sheets('blabla'))") Then
        Exit Sub
    End If
    Sheets("blabla").Visible = True
End Sub

Diese Methode prüft, ob das Blatt existiert, bevor es sichtbar gemacht wird.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Makro beenden kannst, wenn ein Fehler auftritt:

  1. Beispiel für das Sichtbarmachen eines Arbeitsblattes:
Sub Sichtbar()
    On Error GoTo Ende
    Sheets("Daten").Visible = True
    Ende:
End Sub
  1. Beispiel für das Löschen eines Arbeitsblattes:
Sub BlattLoeschen()
    On Error GoTo Ende
    Application.DisplayAlerts = False
    Sheets("Daten").Delete
    Application.DisplayAlerts = True
    Ende:
End Sub

Tipps für Profis

  • Verwende On Error Resume Next, wenn du Fehler ignorieren möchtest, aber sei vorsichtig, da dies dazu führen kann, dass unerwartete Probleme nicht erkannt werden.
  • Halte deinen Code sauber und gut kommentiert, um die Fehlersuche zu erleichtern.
  • Nutze Debug.Print zur Fehlersuche, um Informationen über Variablen und Abläufe im Code zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Makro bei jedem Fehler stoppt? Du kannst On Error GoTo Ende verwenden, um das Makro an einer bestimmten Stelle zu beenden, wenn ein Fehler auftritt.

2. Was passiert, wenn ich kein Fehlerhandling einbaue? Wenn du kein Fehlerhandling in deinem VBA-Code hast, wird Excel bei einem Fehler das Makro anhalten und eine Fehlermeldung anzeigen.

3. Ist es möglich, verschiedene Fehler unterschiedlich zu behandeln? Ja, du kannst mehrere On Error-Anweisungen verwenden oder die Fehlernummern abfragen, um spezifische Fehler unterschiedlich zu behandeln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige