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

Forumthread: Laufzeitfehler '-2147417848 (80010108)

Laufzeitfehler '-2147417848 (80010108)
11.02.2020 13:43:22
Klaus
Ich habe seit ca. 1 Woche ein Problem mit einem Makro,
dieses Makro nutze ich unverändert seit ca. Monaten,
wenn ich mit F8 Schritt für Schritt durchgehe klappt es auch problemlos
nur wenn ich es normal starte kommt immer wieder
Laufzeitfehler '-2147417848 (80010108)
Excel hängt sich auf, kann zwar noch speichern, muss aber den Taskmanager beenden
mein Makro mag nicht das beste sein, aber ich vermute ein Problem mit
Net Framework, dann nach dem Update auf 4.8 fing es an, aber auch eine Deinstallation der Updates von einem Tag vorher hat nicht geholfen
hat jemand eine Idee ?
Excel 365 64 bit
Windows 10 64 bit
Gruß Klaus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '-2147417848 (80010108)
11.02.2020 13:46:37
Werner
Hallo,
und das soll dir jetzt jemand beantworten, ohne dein Makro zu kennen?
Gruß Werner
AW: Laufzeitfehler '-2147417848 (80010108)
11.02.2020 21:40:33
Luschi
Hallo Klaus,
wenn ich bei Google nach diesem LzF suche, dann finde ich das hier:
"Laufzeitfehler"-2147417848 (80010108) Automatisierungsfehler: das aufgerufene Objekt wurde von den Clients getrennt"
Und meistens passiert dies, wenn in einer Schleife Daten hin- und herschaufelt. Um da ein bißchen Luft ran zu lassen, hat es sich bewährt, ein 'DoEvents' in die Schleife einzubauen (siehe Vba-Online-Hilfe)
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Laufzeitfehler '-2147417848 (80010108)
12.02.2020 12:40:38
Klaus
Hallo zusammen,
danke an euch
Werner, hast ja recht, aber da das Makro schrittweise geht und seit Monaten jeden Tag genutzt wird,
bin ich nicht von einem Fehler im Makro ausgegangen - sorry
vielen Dank Luschi !!!!!!
habe DoEvents eingebaut ( was es nicht alles gibt :-) )
und nicht nur das es wieder super klappt, es geht auch schneller
Danke an alle !!!
Gruß Klaus
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler '-2147417848 (80010108) in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Makro öffnen: Öffne deine Excel-Datei und gehe zu den Entwicklertools. Klicke auf „Visual Basic“, um den VBA-Editor zu öffnen.

  2. Code überprüfen: Suche das Makro, das den Laufzeitfehler '-2147417848 (80010108)' verursacht.

  3. DoEvents einfügen: Wenn dein Makro in einer Schleife Daten verarbeitet, füge den Befehl DoEvents ein. Dies gibt Excel die Möglichkeit, andere Prozesse auszuführen und kann helfen, den Fehler "das aufgerufene Objekt wurde von den Clients getrennt" zu vermeiden. Beispiel:

    For i = 1 To 100
        ' Dein Code hier
        DoEvents
    Next i
  4. Makro testen: Starte das Makro erneut und überprüfe, ob der Fehler weiterhin auftritt.


Häufige Fehler und Lösungen

  • Fehlerursache: Der Laufzeitfehler '-2147417848 (80010108)' tritt häufig auf, wenn Excel überlastet ist oder das Makro zu viele Daten gleichzeitig verarbeitet.

  • Lösung: Wie bereits erwähnt, kann das Einfügen von DoEvents in Schleifen helfen.

  • Net Framework: Manchmal kann auch ein Update des .NET Frameworks den Fehler verursachen. Überprüfe, ob dein System auf dem neuesten Stand ist.


Alternative Methoden

Wenn das Problem weiterhin besteht, kannst du folgende Alternativen ausprobieren:

  • Makro schrittweise ausführen: Nutze die F8-Taste, um das Makro Schritt für Schritt auszuführen und so den genauen Punkt zu identifizieren, an dem der Fehler auftritt.

  • Fehlersuche aktivieren: Aktiviere die Fehlerbehandlung in VBA, um detailliertere Fehlermeldungen zu erhalten. Beispiel:

    On Error GoTo FehlerHandler
    ' Dein Makro Code
    Exit Sub
    
    FehlerHandler:
    MsgBox "Fehler: " & Err.Number & " - " & Err.Description

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie DoEvents in einer Schleife verwendet wird:

Sub BeispielMakro()
    Dim i As Integer
    For i = 1 To 1000
        ' Beispiel Verarbeitung
        Cells(i, 1).Value = i
        DoEvents  ' Erlaubt anderen Prozessen, ausgeführt zu werden
    Next i
End Sub

Dieses Makro füllt die erste Spalte mit Zahlen von 1 bis 1000 und verwendet DoEvents, um die Effizienz zu steigern und den Laufzeitfehler zu vermeiden.


Tipps für Profis

  • Code optimieren: Reduziere die Anzahl der Interaktionen mit dem Arbeitsblatt, indem du Daten in ein Array lädst, sie bearbeitest und dann zurückschreibst.

  • Fehlerprotokollierung: Implementiere ein Fehlerprotokoll, um festzuhalten, wann und wo Fehler auftreten. Dies kann helfen, wiederkehrende Probleme zu identifizieren.

  • Regelmäßige Updates: Halte deine Excel-Version und das .NET Framework regelmäßig auf dem neuesten Stand, um Komplikationen zu vermeiden.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler '-2147417848 (80010108)' genau?
Dieser Fehler ist ein Automatisierungsfehler, der auftritt, wenn ein aufgerufenes Objekt von den Clients getrennt wurde. Oft geschieht dies bei intensiven Makrooperationen.

2. Wie kann ich die Leistung meines VBA-Codes verbessern?
Vermeide, so oft wie möglich auf Excel-Objekte zuzugreifen. Nutze stattdessen Arrays und schreibe die Daten in einem Rutsch zurück, um die Verarbeitungsgeschwindigkeit zu erhöhen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige