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

Laufzeitfehler 2147319767 (80028029)

Forumthread: Laufzeitfehler 2147319767 (80028029)

Laufzeitfehler 2147319767 (80028029)
24.05.2020 06:42:26
Control
Hallo zusammen,
seit einer Woche bekomme ich folgenden Fehler:
Laufzeitfehler '-2147319767 (80028029)': Automatisierungsfehler Ungültige Vorreferenz oder Referenz zu unkompilierten Typ.
Der Debugger markiert mir diese Zeile: Sheets("Positions Balance Control").Select
Es liegt jedoch nicht an dem Namen des Blatts, da ich diesen mehrfach kontrolliert habe.
Hat jemand so eine Fehlermeldung an so einer ähnlichen Stelle schon einmal bekommen? Und wie wurde er behoben?
Oder an welcher Stelle muss ich suchen?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 2147319767 (80028029)
24.05.2020 07:49:37
GerdL
Moin,
Versuch macht kluch.
Kopiere das Blatt, lösche das Originalblatt u. benenne die Kopie mit dessen Namen um.
Gruß Gerd
AW: Laufzeitfehler 2147319767 (80028029)
24.05.2020 09:10:07
Martin
Hallo,
hast du mal etwas in dieser Art probiert?
Sub ActivateSheet()
Dim wkSheet As Worksheet
For Each wkSheet In ThisWorkbook.Worksheets
If InStr(wkSheet.Name, "Balance") > 0 Then
wkSheet.Activate
Exit For
End If
Next
End Sub
Irgendwie macht mich der Fehler echt neugierig und am liebsten würde ich mit der Problem-Arbeitsmappe mal ein wenig herumprobieren. Vielleicht kannst du die Excelmappe mal hier hochladen?
Viele Grüße
Martin
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 2147319767 (80028029) in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Wenn du mit dem Laufzeitfehler -2147319767 (80028029) konfrontiert bist, der oft als "Automatisierungsfehler: Ungültige Vorreferenz oder Referenz zu unkompiliertem Typ" auftritt, kannst du folgende Schritte unternehmen:

  1. Blattnamen überprüfen: Stelle sicher, dass der Blattname in deinem VBA Code korrekt geschrieben ist. Überprüfe auch, ob das Blatt tatsächlich existiert.

  2. Neu starten: Manchmal hilft es, Excel neu zu starten. Schließe die Anwendung und öffne die Arbeitsmappe erneut.

  3. Blatt kopieren und umbenennen: Kopiere das betroffene Blatt, lösche das Original und benenne die Kopie um. Dies kann helfen, wenn das Blatt beschädigt ist.

  4. VBA-Referenzen prüfen: Gehe in den VBA-Editor (Alt + F11), dann unter Extras > Verweise und überprüfe, ob dort ein Verweis auf eine nicht verfügbare Bibliothek vorhanden ist. Deaktiviere diese, wenn nötig.

  5. Debugging: Verwende die Debugging-Funktionen von VBA, um die genaue Stelle im Code zu finden, an der der Fehler auftritt. Setze Breakpoints und gehe Schritt für Schritt durch deinen Code.


Häufige Fehler und Lösungen

  • Falscher Blattname: Der häufigste Grund für diesen Fehler ist ein falscher oder nicht existierender Blattname. Überprüfe die Schreibweise.

  • Nicht verfügbare Bibliotheken: Fehler in den VBA-Referenzen können ebenfalls zu vba automatisierungsfehler führen. Achte darauf, dass alle benötigten Bibliotheken aktiviert sind.

  • Beschädigte Arbeitsmappe: Wenn die Arbeitsmappe beschädigt ist, kann dies auch zu einem Laufzeitfehler führen. In solchen Fällen hilft oft das Erstellen einer neuen Arbeitsmappe.


Alternative Methoden

  1. Verwendung von Activate anstelle von Select: Manchmal kann das Ersetzen von Select durch Activate helfen, Probleme zu vermeiden.

    Sheets("Positions Balance Control").Activate
  2. Verwenden von For Each Schleifen: Wie von Martin vorgeschlagen, kannst du eine Schleife verwenden, um durch alle Blätter zu iterieren und das gewünschte Blatt zu aktivieren.

    Sub ActivateSheet()
       Dim wkSheet As Worksheet
       For Each wkSheet In ThisWorkbook.Worksheets
           If InStr(wkSheet.Name, "Balance") > 0 Then
               wkSheet.Activate
               Exit For
           End If
       Next
    End Sub

Praktische Beispiele

Hier sind einige Beispiele, die dir helfen können, den Fehler zu beheben:

  • Beispiel 1: Überprüfung und Aktivierung eines Blattes.

    Sub CheckAndActivate()
       Dim ws As Worksheet
       On Error Resume Next
       Set ws = ThisWorkbook.Sheets("Positions Balance Control")
       On Error GoTo 0
       If Not ws Is Nothing Then
           ws.Activate
       Else
           MsgBox "Das Blatt existiert nicht!"
       End If
    End Sub
  • Beispiel 2: Fehlerbehandlung bei ungültigen Referenzen.

    Sub SafeActivate()
       On Error GoTo ErrorHandler
       Sheets("Positions Balance Control").Select
       Exit Sub
    ErrorHandler:
       MsgBox "Fehler beim Aktivieren des Blattes: " & Err.Description
    End Sub

Tipps für Profis

  • Fehlerprotokollierung: Implementiere eine Protokollierung für Fehler, damit du immer nachvollziehen kannst, wo und warum ein Fehler aufgetreten ist.

  • Vermeidung von Select: Verwende Select nur, wenn es unbedingt notwendig ist. Direkte Referenzen auf Objekte sind meist stabiler und effizienter.

  • Regelmäßige Backups: Mache regelmäßig Sicherungskopien deiner Arbeitsmappen, um Datenverlust durch beschädigte Dateien zu vermeiden.


FAQ: Häufige Fragen

1. Was bedeutet der Laufzeitfehler -2147319767?
Dieser Fehler deutet auf einen Automatisierungsfehler hin, oft aufgrund einer ungültigen Referenz oder eines nicht kompilierbaren Typs in deinem VBA-Code.

2. Wie kann ich den Fehler in meiner Arbeitsmappe finden?
Verwende den VBA-Debugger, um den Code Schritt für Schritt zu durchlaufen. Achte auf die Zeilen, die den Fehler auslösen.

3. Was kann ich tun, wenn mein Blatt beschädigt ist?
Erstelle eine Kopie des Blattes, lösche das Original und benenne die Kopie um. Dies kann helfen, Beschädigungen zu beheben.

4. Wie kann ich ungültige Referenzen vermeiden?
Überprüfe deine VBA-Referenzen regelmäßig und stelle sicher, dass alle benötigten Bibliotheken verfügbar sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige