Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: externe Verknüpfungen aktualisieren

VBA: externe Verknüpfungen aktualisieren
Frank
Hallo zusammen,
mit diesem Makro aktualisiere ich auf Knopfdruck externe Verknüpfungen (es handelt sich nur um eine Datei, die verknüpft ist). Die verknüpfte Datei ist geschlossen.
Sub linkupdate()
Application.ScreenUpdating = False
Worksheets("SUM_BY_CUST").Unprotect 'Wird zum Aktualisieren der Verknüpfungen benötigt
Dim arrLinks
With ActiveWorkbook
If Not IsEmpty(.LinkSources) Then
arrLinks = .LinkSources
ActiveWorkbook.UpdateLink Name:=arrLinks(1)
Else
MsgBox "Datei hat keine Verknüpfungen", vbInformation + vbOKOnly, _
"1. Verknüpfung der Datei aktualisieren"
End If
End With
Worksheets("SUM_BY_CUST").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True
Wenn ich die verknüpfte Datei vor der Ausführung des Makros öffne, erhalte ich die Fehlermeldung "Die Methode "UpdateLink" für das Objekt '_Workbook' ist fehlgeschlagen".
Warum ist das so bzw. wie kann ich die Fehlermeldung verhindern? Ich erwarte mir vom vorherigen Öffnen der verknüpten Datei einige Sekunden Geschwindigkeitsgewinn...
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: externe Verknüpfungen aktualisieren
13.07.2012 15:06:43
Sheldon
Hallo Frank,
wenn die verknüpfte Datei geöffnet ist, sind die Verknüpfungen bereits aktualisiert. Updatelinks musst du nur dann machen, wenn die Datei eben nicht geöffnet werden soll.
Gruß
Sheldon
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Externe Verknüpfungen in Excel mit VBA aktualisieren


Schritt-für-Schritt-Anleitung

Um externe Verknüpfungen in Excel mit VBA zu aktualisieren, kannst du das folgende Makro verwenden. Dieses Beispiel aktualisiert die Verknüpfungen nur, wenn die verknüpfte Datei geschlossen ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub linkupdate()
       Application.ScreenUpdating = False
       Worksheets("SUM_BY_CUST").Unprotect ' Wird zum Aktualisieren der Verknüpfungen benötigt
       Dim arrLinks
       With ActiveWorkbook
           If Not IsEmpty(.LinkSources) Then
               arrLinks = .LinkSources
               ActiveWorkbook.UpdateLink Name:=arrLinks(1)
           Else
               MsgBox "Datei hat keine Verknüpfungen", vbInformation + vbOKOnly, _
               "1. Verknüpfung der Datei aktualisieren"
           End If
       End With
       Worksheets("SUM_BY_CUST").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
       Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Drücke ALT + F8, wähle linkupdate und klicke auf Ausführen, um die Verknüpfungen zu aktualisieren.


Häufige Fehler und Lösungen

Ein häufiges Problem ist die Fehlermeldung, die auftritt, wenn die verknüpfte Datei geöffnet ist. In diesem Fall bekommst du die Meldung: "Die Methode 'UpdateLink' für das Objekt '_Workbook' ist fehlgeschlagen".

Lösung:

  • Stelle sicher, dass die verknüpfte Datei geschlossen ist, bevor du das Makro ausführst. Wenn du die Datei vorher öffnest, werden die Verknüpfungen bereits aktualisiert und das Makro kann nicht auf die geschlossene Datei zugreifen.

Alternative Methoden

Wenn du die automatische Aktualisierung von Verknüpfungen aktivieren möchtest, kannst du dies auch über die Excel-Optionen tun:

  1. Gehe zu Datei > Optionen.
  2. Wähle Erweitert.
  3. Scrolle nach unten zu Allgemein und aktiviere die Checkbox für „Verknüpfungen beim Öffnen der Datei automatisch aktualisieren“.

So stellt Excel sicher, dass alle externen Verknüpfungen beim Öffnen der Datei automatisch aktualisiert werden.


Praktische Beispiele

Hier ist ein Beispiel, wie du externe Verknüpfungen finden kannst, die in deinem Excel-Dokument vorhanden sind:

  1. Verwende den folgenden VBA-Code, um alle Verknüpfungen in einer Meldung anzuzeigen:

    Sub findLinks()
       Dim arrLinks
       arrLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
       If Not IsEmpty(arrLinks) Then
           Dim i As Integer
           For i = LBound(arrLinks) To UBound(arrLinks)
               MsgBox arrLinks(i)
           Next i
       Else
           MsgBox "Keine externen Verknüpfungen gefunden."
       End If
    End Sub

Führe dieses Makro aus, um zu sehen, welche externen Verknüpfungen in deiner Arbeitsmappe enthalten sind.


Tipps für Profis

  • Verknüpfungen automatisch aktualisieren: Du kannst die Option zur automatischen Aktualisierung von Verknüpfungen in den Excel-Optionen aktivieren, um Zeit zu sparen.
  • Vermeidung von Fehlern: Stelle sicher, dass alle verknüpften Dateien am richtigen Speicherort vorhanden sind, um Fehlermeldungen bei der Verknüpfung zu vermeiden.
  • VBA Debugging: Nutze Debug.Print in deinem VBA-Code, um den Status von Variablen zu überprüfen und Fehler leichter zu identifizieren.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Verknüpfungen automatisch aktualisiert werden?
Du kannst die Option zur automatischen Aktualisierung in den Excel-Optionen aktivieren. Gehe zu Datei > Optionen > Erweitert und aktiviere die entsprechende Checkbox.

2. Was kann ich tun, wenn ich eine Fehlermeldung beim Aktualisieren der Verknüpfung erhalte?
Stelle sicher, dass die verknüpfte Datei geschlossen ist, da eine offene Datei zu Problemen führen kann. Wenn das Problem weiterhin besteht, überprüfe, ob der Pfad zur verknüpften Datei korrekt ist.

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