![]() |
Betrifft: Externe Verknüpfungen
von: 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
![]() |
Betrifft: AW: Externe Verknüpfungen
von: Bernd
Geschrieben am: 26.04.2008 12:39:49
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 << sicher, nichts an der Linkadresse oder dem Ordner, wo die Daten liegen, geändert zu haben???
Grüße
Bernd
![]() |
Betrifft: Nix verändert
von: Johann
![]() |
Betrifft: AW: Verknüpfungen einzeln aktualisieren
von: Erich G.
Geschrieben am: 26.04.2008 16:01:10
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
![]() |
Betrifft: AW: Verknüpfungen einzeln aktualisieren
von: Johann
![]() |
Betrifft: AW: Verknüpfungen einzeln aktualisieren
von: Johann
Geschrieben am: 26.04.2008 16:33:23
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
![]() |
Betrifft: AW: Verknüpfungen einzeln aktualisieren
von: Erich G.
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
![]() |
Betrifft: AW: Nix verändert
von: Erich G.
Geschrieben am: 26.04.2008 16:04:38
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
![]() |
Betrifft: AW: Nix verändert
von: Johann
![]() |