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

Automatische Verknüpfung - Laufzeitfehler 1004

Forumthread: Automatische Verknüpfung - Laufzeitfehler 1004

Automatische Verknüpfung - Laufzeitfehler 1004
01.06.2016 09:32:13
Susanne
Hallo,
Über einen Button starte ich die automatische Verknüpfung mit einer Excelmappe. Folgender Code ist dem Button zugewiesen:
Sub Verknüpfungen()
ActiveWorkbook.UpdateLink Name:= _
"C:\test.xlsm", Type _
:=xlExcelLinks
MsgBox ("Verknüpfungen sind aktualisiert")
End Sub

Das klappt solange test.xlsm nicht geöffnet ist.Wenn test.xlsm aber parallel geöffnet ist bekomme ich den Fehlercode Laufzeitfehler "1004". Die Methode 'UpdateLink' für das Objekt '_Workbook ist fehlgeschlagen.
Wie kann ich den Abbruch verhindern?
Liebe Grüße
Susanne

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
01.06.2016 11:47:41
selli
hallo
Wie kann ich den Abbruch verhindern?
Sub Verknüpfungen()
On Error Resume Next
ActiveWorkbook.UpdateLink Name:= _
"C:\test.xlsm", Type _
:=xlExcelLinks
MsgBox ("Verknüpfungen sind aktualisiert")
End Sub

... dann wird aber auch die verknüpfung nicht aktualisiert.
gruß
selli

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
01.06.2016 11:53:57
Susanne
Hallo Selli,
damit verhindert man zwar den Abbruch, aber wie du schon sagst, die Verknüpfung wird dann leider nicht aktualisiert. Ich möchte aber das sie aktualisiert wird. Gibt es da irgendeine Möglichkeit das zu tun?
Liebe Grüße
Susanne

AW: Automatische Verknüpfung - Laufzeitfehler 1004
03.06.2016 23:08:01
Piet
Hallo Susanne,
auf den Umstand das die Verknüpfungen nicht aktualisiert werden hat Selli hingewiesen.
dann wird aber auch die verknüpfung nicht aktualisiert.
Mit dem Problem Verknüpfungen habe ich bisher nie gearbeitet, würde es mir gerne ansehen.
Kannst du eine kleine Beispieldatei reinstellen, mit Fantasie Daten. Es reicht mir wenn du im
Beispiel ein paar Zellen angibst wo die Verknüpfung hingeht, z.B. Mappe2!Tabelle1,Range(X:Y)
Der Fehler sollte sich beheben lassen, aber dazu müsste ich es nachstellen können.
mfg Piet

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
06.06.2016 10:16:14
Susanne
Hallo Piet,
Michael hat recht....es funzt mit dem Code von Seli. Das Makro bricht nicht ab und er zieht sich die Werte aber trotzdem richtig. SOmit ist das Problem gelöst.
Vielen Dankund eine schöne Woche!
Liebe Grüße
Susanne

AW: Automatische Verknüpfung - Laufzeitfehler 1004
02.06.2016 21:02:21
Piet
Hallo Susanne
erweitere deinen eigenen Code um Die Set Anweisung.
Sie meldet dir wenn die Datei bereits geöffnet ist.
mfg Piet
Sub Verknüpfungen()
Dim wb As Object
Set wb = Workbooks("Testen 2.xls")
If Not wb Is Nothing Then MsgBox "Datei ist geöffnet": Exit Sub
ActiveWorkbook.UpdateLink Name:= _
"C:\test.xlsm", Type:=xlExcelLinks
MsgBox ("Verknüpfungen sind aktualisiert")
End Sub

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
03.06.2016 12:48:35
Susanne
Hallo Piet,
erst mal Danke für diese Lösung. Eigentlich wäre es mir am liebsten wenn es einen Code gäbe, der die Verknüpfung über das Makro macht auch wenn die Datei offen ist. Deine Lösung habe ich ausprobiert. Er bringt auch brav die Meldung dass die Datei geöffnet ist, aber wenn ich sie schliesse und noch mal das Makro starte kommt diese Meldung, obwohl die zu verknüpfende Datei geschlossen ist , immer wieder. Habe somit keine Chance die Meldung auszuschalten. Was muss man im Code angeben dass er , nach dem Schliessen, die Verknüpfung macht und die zweite MsgBox "Verknüpfungen sind aktualisiert" kommt?
Wäre super wenn irgendwer eine Lösung dafür hätte!
Lieben Danke im Voraus!
Susanne

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
03.06.2016 15:21:30
Michael
Hi zusammen,
ist es nicht so, daß wenn die zweite Datei geöffnet ist, die Links immer "live" aktualisiert werden?
Insofern sollte doch Sellis Lösung tun: wenn sie nicht geöffnet ist, werden die links geupdated, wenn sie ohnehin offen ist, geht es sowieso automatisch.
Oder ist mir da was entgangen?
Schöne Grüße,
Michael

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
03.06.2016 20:48:37
Susanne
Hallo Michael,
nein leider ist das nicht der Fall. Ich habe gerade Selis Code ausprobiert. Das Makro läuft dann zwar anstandslos durch und bringt die Meldung dass die Verknüpfungen aktualisiert sind, aber der alte Wert bleibt stehen.
Liebe Grüße
Susanne

AW: Automatische Verknüpfung - Laufzeitfehler 1004
04.06.2016 15:44:43
Michael
Hi Susanne,
kann ich nicht nachvollziehen: ich habe nur mal schnell zwei Tabellen angelegt, wo in der einen ein Bezug auf die zweite ist: wenn ich den Wert in der zweiten ändere, ist er automatisch auch in der ersten geändert.
Rechts ist die Datei BezugVonWert.xlsx.
Vorher:
Userbild
Und sobald ich dort (rechts) den Wert ändere, steht er (wenn beide Dateien geöffnet sind) auch links:
Userbild
Der Code MUSS also nur ausgeführt werden, wenn die "rechte" Datei NICHT geöffnet ist, und wenn sie geöffnet ist, KANN er zwar ausgeführt werden, braucht aber nichts zu tun.
Nochmal: ist mir da was entgangen?
Schöne Grüße,
Michael

Anzeige
AW: Automatische Verknüpfung - Laufzeitfehler 1004
06.06.2016 10:14:20
Susanne
Hallo Michael,
habe jetzt alles noch mal ganz in Ruhe probiert und gebe dir Recht. Mit Selis Code schmiert das Programm nicht ab und wenn die zu verknüpfende Datei geöffnet ist zieht er sich auch automatisch die richtigen Zahlen. Keine Ahnung was ich da am Freitag gesehen habe.
Vielen herzlichen Danke und eine schöne Woche!
Liebe Grüße
Susanne

Anzeige
dann bin ich ja beruhigt,
07.06.2016 17:03:46
Michael
Susanne,
ich hatte schon an mir gezweifelt...
Liebe Grüße zurück & happy exceling,
Michael
;
Anzeige
Anzeige

Infobox / Tutorial

Automatische Verknüpfung in Excel: Laufzeitfehler 1004 beheben


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und füge einen Button hinzu, um das Makro zu starten.

  2. Füge den folgenden VBA-Code in das Modul ein:

    Sub Verknüpfungen()
       On Error Resume Next
       ActiveWorkbook.UpdateLink Name:= _
       "C:\test.xlsm", Type:=xlExcelLinks
       MsgBox ("Verknüpfungen sind aktualisiert")
    End Sub
  3. Starte das Makro durch Klicken auf den Button. Achte darauf, dass die Datei test.xlsm nicht geöffnet ist, um einen Laufzeitfehler 1004 zu vermeiden.

  4. Wenn die Datei bereits geöffnet ist, wird die Meldung angezeigt, dass die Verknüpfungen aktualisiert wurden, obwohl der Wert nicht aktualisiert wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Wenn du diesen Fehler erhältst, kann es daran liegen, dass die Datei test.xlsm bereits geöffnet ist. Um dies zu beheben, kannst du den Code wie folgt erweitern:

    Sub Verknüpfungen()
       Dim wb As Object
       On Error Resume Next
       Set wb = Workbooks("test.xlsm")
       If Not wb Is Nothing Then
           MsgBox "Datei ist geöffnet"
           Exit Sub
       End If
       ActiveWorkbook.UpdateLink Name:= _
       "C:\test.xlsm", Type:=xlExcelLinks
       MsgBox ("Verknüpfungen sind aktualisiert")
    End Sub
  • Meldung bleibt bestehen: Wenn die Meldung erscheint, dass die Datei geöffnet ist, obwohl sie geschlossen wurde, überprüfe, ob der Dateiname exakt übereinstimmt.


Alternative Methoden

  1. Verwendung von ActiveWorkbook.UpdateLink: Du kannst diese Methode direkt in deinem VBA-Code verwenden, um die Verknüpfungen zu aktualisieren. Stelle sicher, dass du die Datei test.xlsm nicht geöffnet hast, da sonst der Fehler method updatelink of object _workbook failed auftritt.

  2. Manuelle Aktualisierung: Eine einfache Möglichkeit besteht darin, die Verknüpfungen manuell über die Excel-Oberfläche zu aktualisieren. Gehe dazu zu Daten > Verknüpfungen bearbeiten und aktualisiere die Links.


Praktische Beispiele

  • Beispiel 1: Wenn du eine Arbeitsmappe hast, in der die Daten aus test.xlsm referenziert werden, kannst du den oben angegebenen Code verwenden, um sicherzustellen, dass die Verknüpfungen aktualisiert werden, selbst wenn die Datei offen ist.

  • Beispiel 2: Du kannst auch eine kleine Datenbank erstellen, in der du mehrere Verknüpfungen hast, und den Code anpassen, um alle Links in einer Schleife zu aktualisieren.


Tipps für Profis

  • Verwende On Error Resume Next nur, wenn du sicher bist, dass du mit den Fehlern umgehen kannst. Andernfalls könnte es zu unerwarteten Ergebnissen führen.
  • Teste deinen Code gründlich in einer Testumgebung, bevor du ihn in einer produktiven Umgebung einsetzt.
  • Achte darauf, dass die Dateipfade korrekt sind und keine Tippfehler enthalten sind, um Fehler wie laufzeitfehler 1004 zu vermeiden.

FAQ: Häufige Fragen

1. Was ist der Laufzeitfehler 1004? Der Laufzeitfehler 1004 tritt auf, wenn ein VBA-Code versucht, auf ein Objekt zuzugreifen, das nicht verfügbar ist oder nicht korrekt referenziert wird.

2. Wie kann ich den Fehler method updatelink of object _workbook failed beheben? Vergewissere dich, dass die Datei, die du aktualisieren möchtest, nicht geöffnet ist, oder verwende die Set-Anweisung, um zu überprüfen, ob die Datei bereits im Speicher ist.

3. Was kann ich tun, wenn die Verknüpfungen nicht aktualisiert werden? Stelle sicher, dass der Dateipfad korrekt ist und dass keine Fehler im Code vorhanden sind. Überprüfe auch, ob die Verknüpfungen in der Excel-Oberfläche korrekt eingerichtet sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige