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

Forumthread: Externe Verknüpfungen

Externe Verknüpfungen
26.04.2008 12:22:00
Johann
Hallo Excel-Könner!
Ich habe externe Verknüpfungen, die nicht beim Öffnen, sondern nur bei Bedarf mittels Makro aktualisiert werden sollen.
Dabei ist die Quelldatei geschlossen.
Ich habe "Bearbeiten-Verknüpfungen-Eingabeaufforderung beim Start" auf "Keine Warnung anzeigen und Verknüpfungen nicht aktualisieren" gestellt.
Mit
"ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources"
kann ich zwar aktualisieren, es erscheint aber immer das Explorerfenster zum Auswählen/Ändern der Quelldatei (die Datei ist vorhanden).
Wie kann ich per VBA die Daten aktualisiern und das Explorerfenster nur anzeigen lassen, wenn die Quelldatei nicht bekannt ist?
Herzlichsten Dank im Voraus
Johann

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Externe Verknüpfungen
26.04.2008 12:39:00
Bernd
Hallo Johann,
ich kenne das Problem auch, das tritt aber nur auf, wenn sich irgend etwas in der Linkadresse geändert hat, und sei es nur ein zusätzliches Leerzeichen.
Bist du >> absolut Grüße
Bernd

Nix verändert
26.04.2008 13:00:52
Johann
Hallo Bernd!
Ich habe das jetzt so an die 10 mal versucht: Quelldatei nicht verändert - Zieldatei neu geöffnet - Daten aktualisiert - gespeichert und geschlossen - neu geöffnet ..... Dabei ist es mir ein Mal geglückt.
Die manuelle Aktualisierung über "Bearbeiten - Verknüpfungen - " geht immer ohne Nachfrage.
Gibt es da vielleicht noch eine andere Möglichkeit ?
Schöne Grüße
Johann

Anzeige
AW: Verknüpfungen einzeln aktualisieren
26.04.2008 16:01:00
Erich
Hallo Johann,
vielleicht ist nur eine oder ein Teil deiner Quellmappen betroffen und du kannst mit diesem Code
die Schuldige(n) herausfinden:

Sub aTst()
Dim aLinks, ii As Integer
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For ii = 1 To UBound(aLinks)
MsgBox "Aktualisiere " & aLinks(ii)
ActiveWorkbook.UpdateLink Name:=aLinks(ii)
Next ii
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Verknüpfungen einzeln aktualisieren
26.04.2008 16:18:00
Johann
Jawohl Erich!
Du hast den Nagel auf den Kopf getroffen. Bei der manuellen Aktualisierung kann man sich ja die Quelldatei aussuchen, die aktualisiert werden soll.
Mit VBA werden immer alle Verknüpfungen aktualisiert. Wenn ich die Verknüpfungen auf die 2. Datenquelle wegnehme, funktioniert's.
Gibt es in VBA nicht auch die Möglichkeit, nur eine bestimmte Quelle zu aktualisieren?
Herzlichen Dank und schöne Grüße aus dem Weinviertel
Johann

Anzeige
AW: Verknüpfungen einzeln aktualisieren
26.04.2008 16:33:23
Johann
Hallo Erich!
Die Antwort auf deinen ersten Vorschlag s. oben.
Bleibt noch die Frage:
Gibt es in VBA nicht auch die Möglichkeit, nur eine bestimmte Quelle zu aktualisieren?
Herzlichen Dank und schöne Grüße aus dem Weinviertel
Johann

AW: Verknüpfungen einzeln aktualisieren
26.04.2008 18:02:51
Erich
Hi Johann,
hast du dir die Routine mal genau angesehen?
Mit "ActiveWorkbook.UpdateLink Name:=aLinks(ii)"
werden - innerhalb einer Schleife - die Daten aus jeder Quelldatei einzeln aktualisiert.
Mit
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources(xlExcelLinks)(1)
werden nur die Daten aus der 1. Quelldatei aktualisiert, mit
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources(xlExcelLinks)(2)
die Daten Daten aus der 2. Quelldatei usw.
Wenn dir das zu unübersichtlich ist, kannst du das auch so machen:

Sub aTst()
Dim aLinks, ii As Integer
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
MsgBox "Aktualisiere " & aLinks(1)
ActiveWorkbook.UpdateLink Name:=aLinks(1)
End If
End Sub

oder das Ganze z. B. mit (2) statt (1)
Da ich die Namen deiner Quellmappen natürlich nicht kenne, habe ich sie mit LinkSources() ermittelt.
Du kannst auch ganz einfach per Makroaufzeichnung eine Prozedur erstellen,
die die Verknüpfungen zu einer bestimmten Quellmappe aktualisieren lässt.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Nix verändert
26.04.2008 16:04:38
Erich
Hi Johann,
noch eine Möglichkeit: Probier mal
Bearbeiten - Verknüpfungen - Status prüfen
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Nix verändert
26.04.2008 17:02:38
Johann
Text:
Hallo Erich!
Die Antwort auf deinen ersten Vorschlag s. oben.
Bleibt noch die Frage:
Gibt es in VBA nicht auch die Möglichkeit, nur eine bestimmte Quelle zu aktualisieren?
Herzlichen Dank und schöne Grüße aus dem Weinviertel
Johann
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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 verwalten


Schritt-für-Schritt-Anleitung

  1. Aktivieren von Makros: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros, und aktiviere die Option „Alle Makros aktivieren“.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle Einfügen > Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein, um externe Verknüpfungen zu aktualisieren:

    Sub ExterneVerknuepfungenAktualisieren()
       Dim aLinks As Variant, ii As Integer
       aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
       If Not IsEmpty(aLinks) Then
           For ii = LBound(aLinks) To UBound(aLinks)
               ActiveWorkbook.UpdateLink Name:=aLinks(ii)
           Next ii
       End If
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle ExterneVerknuepfungenAktualisieren aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Explorerfenster erscheint: Wenn beim Aktualisieren der Links ein Explorerfenster erscheint, könnte es daran liegen, dass die Verknüpfung nicht mehr korrekt ist. Überprüfe die Verknüpfungen in Daten > Abfragen und Verknüpfungen > Verknüpfungen bearbeiten.

  • Keine Aktualisierung möglich: Wenn keine Aktualisierung erfolgt, überprüfe, ob die Quelldatei geschlossen ist und ob es Änderungen in der Linkadresse gibt, wie zum Beispiel Leerzeichen.


Alternative Methoden

  • Manuelle Aktualisierung: Du kannst auch Daten > Abfragen und Verknüpfungen > Verknüpfungen bearbeiten nutzen, um die Verknüpfungen manuell zu aktualisieren.

  • Excel externe Verknüpfungen automatisch aktualisieren: Stelle in den Optionen sicher, dass die automatische Aktualisierung bei Bedarf aktiviert ist. Gehe zu Datei > Optionen > Erweitert und setze die entsprechende Option.


Praktische Beispiele

  1. Einzelne Verknüpfung aktualisieren:

    Wenn du nur eine bestimmte externe Verknüpfung aktualisieren möchtest, kannst du den folgenden Code verwenden:

    Sub EinzelneVerknuepfungAktualisieren()
       ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources(xlExcelLinks)(1) 'Aktualisiert die erste Verknüpfung
    End Sub
  2. Verknüpfungen finden:

    Um externe Verknüpfungen in Excel zu finden, kannst du den folgenden Code verwenden, der dir die Namen der Verknüpfungen anzeigt:

    Sub VerknuepfungenFinden()
       Dim aLinks As Variant
       aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
       If Not IsEmpty(aLinks) Then
           Dim i As Integer
           For i = LBound(aLinks) To UBound(aLinks)
               MsgBox "Verknüpfung: " & aLinks(i)
           Next i
       Else
           MsgBox "Keine externen Verknüpfungen gefunden."
       End If
    End Sub

Tipps für Profis

  • Nutze ActiveWorkbook.LinkSources(xlExcelLinks) um alle vorhandenen Verknüpfungen zu finden, bevor du versuchst, diese zu aktualisieren oder zu entfernen.

  • Wenn du oft mit externen Verknüpfungen arbeitest, erwäge, ein benutzerdefiniertes Menü oder eine Schaltfläche zu erstellen, um die Aktualisierung zu erleichtern.


FAQ: Häufige Fragen

1. Wie kann ich externe Verknüpfungen in Excel finden?
Du kannst die externen Verknüpfungen in Excel finden, indem du den VBA-Befehl ActiveWorkbook.LinkSources(xlExcelLinks) verwendest, um alle Linkadressen aufzulisten.

2. Wie kann ich sicherstellen, dass Verknüpfungen automatisch aktualisiert werden?
Stelle in den Excel-Optionen unter „Erweitert“ ein, dass Excel die Verknüpfungen automatisch beim Öffnen der Datei aktualisieren soll. Achte darauf, dass die Quelldateien erreichbar 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