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

Forumthread: wie Laufzeitfehler 91 suchen?

wie Laufzeitfehler 91 suchen?
27.12.2008 13:40:36
susi-lein

Hallo zusammen,
seit gestern bekomme ich die Fehlermeldung
Microsoft Visual Basic
Laufzeitfehler '91'
Objektvariable oder With-Blockvariable nicht festgelegt.
beim Excel start, obwohl ich seit fast 1 Jahr nichts mehr an meinen VBA-Codes geändert habe.
Wenn ich auf "Beenden" klicke läuft das Programm fehlerfrei weiter.
Wie kann ich den Ort der Fehlerursache finden?
Grüsse, Susi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wie Laufzeitfehler 91 suchen?
27.12.2008 13:51:41
Uwe
Hi Susi,
klicke nicht auf Beenden, sondern auf Debuggen, dann siehst Du wo der Fehler auftritt und kannst den Code posten. Grund dafür ist wahrscheinlich, dass Du in einer Tabelle etwas geändert hast und der Code der darauf zugreift jetzt einen Fehler verursacht, der nicht abgefangen wird.
Gruß
Uwe
(:o)
Anzeige
AW: wie Laufzeitfehler 91 suchen?
28.12.2008 19:32:00
susi-lein
Hallo Jungs,
Fortfahren- und Debuggen-Buttons sind nicht selektierbar,
das ist aber nicht das Problem!
Grüsse, Susi
AW: wie Laufzeitfehler 91 suchen?
28.12.2008 19:49:15
susi-lein
Hallo zusammen,
ich habe die Fehlerursache gefunden:
unter "Verfügbare Add-Ins" gibt es eine Markierungsfeld für das Add-In
"Smart-Tools Namensfeld Erweiterung".
Wenn ich es markiere tritt der Fehler auf.
Merkwürdigerweise funktioniert das Add-In auch wenn das Markierungsfeld kein Häkchen enthält.
Grüsse, Susi
Anzeige
AW: wie Laufzeitfehler 91 suchen?
27.12.2008 16:27:00
ransi
HAllo Uwe
Option Explicit


Public Sub test()
Dim B As Object
MsgBox B
End Sub

ICh kriege kein "Debuggen" angeboten.
Userbild
Da bleibt dann immer nur mit F8 einzeln durchblättern um dem Fehler auf die Spur zukommen...
ransi
Anzeige
AW: wie Laufzeitfehler 91 suchen?
27.12.2008 17:33:00
Uwe
Hi ransi,
Susi schreibt:
"Wenn ich auf "Beenden" klicke läuft das Programm fehlerfrei weiter."
Deshalb gehe ich davon aus, dass nicht der von Dir gezeigt Requester erscheint, sondern der mit der Auswahl: Beenden/ Debuggen.
(Weiß jetzt nicht wie ich den hier rein bekomme (;-|)
Mal sehen wer recht hat.
Gruß
Uwe
(:o)
Anzeige
AW: Screenprint
27.12.2008 17:39:00
Uwe
Hi,
hab's rausbekommen (nur anderer Fehler):
Userbild
Gruß
Uwe
(:o)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 91 in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Debugging starten: Wenn der Laufzeitfehler 91 erscheint, klicke nicht auf „Beenden“, sondern wähle „Debuggen“. Du solltest dann zur Stelle im Code geleitet werden, wo der Fehler auftritt.
  2. Fehlerursache identifizieren: Überprüfe, ob eine Objektvariable oder eine With-Blockvariable nicht festgelegt ist. Dies ist häufig der Grund für den Fehler „VBA Laufzeitfehler 91“.
  3. Änderungen überprüfen: Falls du seit längerem keine Änderungen am VBA-Code vorgenommen hast, könnte eine andere Ursache vorliegen, wie z.B. Änderungen in einem der Arbeitsblätter oder in den Add-Ins.
  4. Add-Ins überprüfen: Gehe zu „Excel-Optionen“ > „Add-Ins“ und deaktiviere verdächtige Add-Ins. Beispielsweise berichtete ein Benutzer von Problemen mit dem Add-In „Smart-Tools Namensfeld Erweiterung“.
  5. Code testen: Teste den Code nach jeder Änderung, um zu überprüfen, ob der Fehler weiterhin auftritt.

Häufige Fehler und Lösungen

  • Fehler: Keine Debug-Option: Wenn du die Debug-Option nicht siehst, könnte es daran liegen, dass der Fehler in einer nicht erreichbaren Zeile auftritt. Nutze die „F8“-Taste, um den Code Schritt für Schritt durchzugehen.
  • Fehlerursache im Add-In: Wenn der Fehler durch ein Add-In verursacht wird, kann es helfen, das Add-In vorübergehend zu deaktivieren, um den Fehler zu isolieren.
  • Überprüfung nicht festgelegter Variablen: Stelle sicher, dass alle verwendeten Objektvariablen korrekt initialisiert wurden, sonst kann der Laufzeitfehler 91 auftreten.

Alternative Methoden

  • Verwendung von On Error Resume Next: Diese Methode ermöglicht es, den Code weiter auszuführen, auch wenn ein Fehler auftritt. Dies kann nützlich sein, um den Fehler zu identifizieren, sollte aber mit Vorsicht eingesetzt werden:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0 ' Fehlerbehandlung zurücksetzen
  • Add-Ins deinstallieren: Bei hartnäckigen Problemen kann es hilfreich sein, das problematische Add-In vollständig zu deinstallieren und dann zu prüfen, ob der Fehler weiterhin besteht.


Praktische Beispiele

Ein häufiges Szenario, das den Fehler „Laufzeitfehler 91“ verursacht, ist der Zugriff auf ein nicht definiertes Objekt:

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' Stelle sicher, dass "Sheet1" existiert.
MsgBox ws.Name

Wenn das Arbeitsblatt „Sheet1“ nicht existiert, wird der Fehler 91 auftreten.


Tipps für Profis

  • Objekte immer überprüfen: Es ist eine gute Praxis, immer zu überprüfen, ob ein Objekt korrekt gesetzt ist, bevor du darauf zugreifst. Nutze If Not ws Is Nothing Then zur Absicherung.

  • Fehlermeldungen anpassen: Verwende benutzerdefinierte Fehlermeldungen, um die Fehlersuche zu erleichtern.

    If ws Is Nothing Then
      MsgBox "Das Arbeitsblatt wurde nicht gefunden!", vbCritical
    End If
  • Verwendung von Option Explicit: Diese Anweisung zwingt dich, alle Variablen zu deklarieren, was die Wahrscheinlichkeit eines Fehlers verringert.


FAQ: Häufige Fragen

1. Was ist der Laufzeitfehler 91? Der Laufzeitfehler 91 tritt auf, wenn in VBA eine Objektvariable oder eine With-Blockvariable nicht festgelegt ist.

2. Wie kann ich den Laufzeitfehler 91 beheben? Du kannst den Fehler beheben, indem du sicherstellst, dass alle Objektvariablen ordnungsgemäß initialisiert sind und dass die verwendeten Objekte existieren.

3. Was sind die häufigsten Ursachen für den Fehler? Häufige Ursachen sind nicht definierte Arbeitsblätter, nicht initialisierte Objektvariablen und Probleme mit Add-Ins.

4. Funktioniert der Fehlercode 91 auch in älteren Excel-Versionen? Ja, der Laufzeitfehler 91 tritt in allen Versionen von Excel auf, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige