| 
		
	
	
	
		
	Registriert seit: 18.01.2023
	
Version(en): 2016
 
	
	
		Hallo Experten
 Mit Menü Daten > Verknüpfungen bearbeiten kann ich feststellen, welche (auch geschlossenen) Dateien die aktuelle Arbeitsmappe mit Daten beliefern.
 
 Wie kann ich nun mit meinem Excel 2016 umgekehrt auch ermitteln, an welche (auch geschlossenen) Dateien von hier aus Daten geliefert werden?   Also dateiübergreifend "Spur zum Nachfolger" statt "Spur zum Vorgänger".  Ist das überhaupt möglich?
 
 Herzlichen Dank für entsprechende Hinweise.
 
 Gruss,
 Peter
 
Windows 10 / Office Professional Plus 2016.Rückmeldungen machen immer Freude.
 
	
	
	
		
	Registriert seit: 12.04.2014
	
Version(en): Office 365
 
	
	
		Hallo,
 ich bin mir nicht sicher ob ich das richtig verstanden habe:
 
 Du hast Datei_1 mit den Quelldaten. Diese Daten, oder Teile davon, werden über Formeln in Datei_2 geholt. In Datei_2 kannst du jetzt Spur zum Vorgänger wählen oder Daten - Verbindungen und dann wir dir angezeigt woher die Daten kommen. Soweit so gut.
 
 Du willst dir jetzt aber in Datei_1 anzeigen lassen welche andere Exceldateien von dieser Datei "beliefert" werden, obwohl aktuell nur die Datei_1 geöffnet ist und die Datei_2 die "beliefert" wird, geschlossen ist?
 
 Ich würde jetzt behaupten, dass das nicht geht da XL zu diesem Zeitpunkt keine Möglichkeit hat zu erkennen, dass Daten "irgendwann" aus dieser Datei ausgelesen werden.
 
 Aber ich bin mir a) nicht sicher ob ich dein Problem richtig verstanden habe und b) erstaunen mich Excel und seine Möglichkeiten immer wieder und es würde mich nicht überraschen wenn jemand mit einer entsprechenden Lösung um die Ecke kommt.
 
GrußPeter
 
	
	
	
		
	Registriert seit: 12.04.2014
	
Version(en): Office 365
 
	
	
		 (10.04.2023, 16:32)Pagsanjan schrieb:  lso dateiübergreifend "Spur zum Nachfolger" Öffne alle Excel-Dateien auf deinem Rechner und schaue nach ob es dort Verknüpfungen zu deiner Ausgangsdatei gibt.
	 
Wir sehen uns!... Detlef
 
 Meine Beiträge können Ironie oder Sarkasmus enthalten.
 
 
 
	
	
	
		
	Registriert seit: 18.01.2023
	
Version(en): 2016
 
	
	
		Hallo Peter
 Herzlichen Dank für deine Antwort.
 
 @ a) Ja, du hast das absolut richtig verstanden - so ist es.
 
 @ b) Dass das nicht so einfach geht wie umgekehrt, habe ich vermutet.  Ich glaube mich jedoch zu erinnern, dass ich kürzlich irgendwo eine Lösung dazu gelesen habe, weiss aber nicht mehr wo, und wie diese geht.
 
 Bleibt zu hoffen, dass jemand mit einer überraschenden Lösung um die Ecke kommt - sehr zuversichtlich bin ich jedoch nicht.
 
 Deine Antwort hat mich in dieser Frage dennoch weiter gebracht.  Danke.
 
 Gruss,
 Peter
 
Windows 10 / Office Professional Plus 2016.Rückmeldungen machen immer Freude.
 
	
	
	
		
	Registriert seit: 18.01.2023
	
Version(en): 2016
 
	
	
		Hallo shift-del
 Vielen Dank für deinen Vorschlag.
 
 Ja, diese Lösungsmöglichkeit ist mir bekannt.  Das Problem ist nur, dass ich auf meinem Rechner sehr viele Excel-Dateien habe, viel mehr, als mein RAM gleichzeitig zu verkraften vermag.  Also eine ziemlich langwierige Angelegenheit, bis alle auf diese Weise geprüft und abgearbeitet sind.
 
 Dennoch Dankeschön!
 
 Gruss,
 Peter
 
Windows 10 / Office Professional Plus 2016.Rückmeldungen machen immer Freude.
 
	
	
	
		
	Registriert seit: 28.08.2022
	
Version(en): 365
 
	
	
		Hi,  (10.04.2023, 23:57)Pagsanjan schrieb:  viel mehr, als mein RAM gleichzeitig zu verkraften vermag Man braucht die Dateien ja noch gleichzeitig zu öffnen... Allerdings dauert ein normales Öffnen ja auch viel zu lange (da Excel noch viele Dinge beim Öffnen erledigt). Daher wäre es sinnvoll, die Datei selbst zu analysieren. Eine (aktuelle) Excel-Datei ist ja im Grunde nichts anderes als ein Zip-Archiv. Wenn man dieses analysiert, findet man sehr schnell den Pfad \xl\externalLinks\_rels  und dort in meiner einfachen Test-Datei mit Links auf zwei externe Dateien die beiden Dateien externalLink1.xml.rels  und externalLink2.xml.rels . Vermutlich findet man bei mehr Quellen noch mehr Dateien. In diesen xml-Dateien findet man hinter Target=  den Dateinamen zum externen Link. Vermutlich ist es am schnellsten, in einem Makro diese Datei(en) zu extrahieren und zu analysieren. Dennoch wird das einige Zeit dauern.
	
Gruß,Helmut
 
 Win10 - Office365 / MacOS - Office365
 
	
	
	
		
	Registriert seit: 02.08.2014
	
Version(en): 2016
 
	
	
		Hallo,
 es gäbe die Möglichkeit, das mitzuloggen. Z.B. automatisch bei jedem Öffnen oder Schließen einer Exceldatei per VBA im Hintergrund schauen, ob es eine Verbindung zu einer anderen Datei gibt. Falls eine solche existiert, diese Verbindung in eine Liste/Datenbank oder ähnliches eintragen. Mit der Zeit würde dort dann eben alles protokolliert. Und du könntest dort nachsehen.
 
 Grüße, Ulrich
 
	
	
	
		
	Registriert seit: 10.04.2014
	
Version(en): 97-2019 (32) + 365 (64)
 
	
	
		Hallöchen, hier mal eine Variante, um ein Verzeichnis zu prüfen. Die Dateien werden dazu der Reihe nach geöffnet. Damit es etwas weniger Probleme macht wird die Berechnung zuerst auf manuell gestellt und die Aktualisierung der Verknüpfungen beim Öffnen unterdrückt. Code: Option Explicit
 Sub ListExternal()
 'Variablendeklarationen
 Dim wshListEx As Worksheet, wshSheet As Worksheet, rngCell As Range
 Dim strFileNames As String
 Dim varFileArr(), alinks
 Dim iFile As Integer, lFCnt As Long
 
 'Suchpfad
 Const strDir$ = "C:\Test\"
 
 'Berechnung auf manuell stellen
 Dim lAppCalc&
 lAppCalc = Application.Calculation
 Application.Calculation = xlCalculationManual
 
 'Bildschirmflackern aus
 Application.ScreenUpdating = False
 
 'In Pfad wechseln - kann man auch anders loesen
 ChDrive Left(strDir, 1)
 ChDir strDir
 
 'alte Daten auf dem Uebersichtsblatt loeschen (meine Datei hat nur dieses)
 Set wshListEx = ActiveSheet
 wshListEx.Cells.ClearContents
 'Ueberschrift setzen
 Cells(1, 1) = "Verknüpfungen in dieser Arbeitsmappe"
 
 'Alle Exclfiles verarbeiten
 strFileNames = Dir("*.xls*")
 
 'Array mit Filenamen erzeugen
 Do While strFileNames <> ""
 lFCnt = lFCnt + 1
 ReDim Preserve varFileArr(1 To lFCnt)
 varFileArr(lFCnt) = strFileNames
 strFileNames = Dir()
 'Ende Array mit Filenamen erzeugen
 Loop
 
 'Schleife ueber alle gefundenen Files
 For iFile = 1 To UBound(varFileArr)
 'Fehlermeldungen abschalten
 Application.DisplayAlerts = False
 'Bei Fehler Verarbeitung ueberspringen
 On Error GoTo weiter
 'Datei Readonly und ohne Aktualisierung von Verknuepfungen oeffnen
 With Workbooks.Open(Filename:=varFileArr(iFile), UpdateLinks:=False, ReadOnly:=True)
 'Verknuepfungen abgreifen
 alinks = .LinkSources(xlExcelLinks)
 'Deteiname und ggf. Verknuepfung daneben eintragen
 With wshListEx.Cells(Rows.Count, 1).End(xlUp).Offset(1)
 .Value = varFileArr(iFile)
 If Not IsEmpty(alinks) Then
 .Offset(, 1).Resize(1, UBound(alinks)).Value = alinks
 End If
 'Ende Deteiname und ggf. Verknuepfung daneben eintragen
 End With
 'Datei schliessen
 .Close
 'Sprungmarke fuer Fehler
 weiter:
 'Ende Datei Readonly und ohne Aktualisierung von Verknuepfungen oeffnen
 End With
 'Ende Schleife ueber alle gefundenen Files
 Next
 
 'Fehlermeldungen an
 Application.DisplayAlerts = True
 'Berechnungsmodus auf Ausgangseinstellung setzen
 Application.Calculation = lAppCalc
 
 End Sub
.      \\\|///      Hoffe, geholfen zu haben.( ô ô )      Grüße, André aus G in T
 ooO-(_)-Ooo    (Excel 97-2019+365)
 
	
	
	
		
	Registriert seit: 18.01.2023
	
Version(en): 2016
 
	
	
		Hallo Helmut, Ulrich und André 
 Herzlichen Dank für euere Gedanken zu diesem Thema und euere Vorschläge.
 
 Die Sache scheint - wie vermutet - nicht ganz einfach zu sein.  Ich bin daran, diese Lösungsansätze durchzuarbeiten, möchte mich jedoch bereits jetzt für euere Mühe bedanken.
 
 Beste Grüße
 Peter
 
Windows 10 / Office Professional Plus 2016.Rückmeldungen machen immer Freude.
 
	
	
	
		
	Registriert seit: 10.04.2014
	
Version(en): 97-2019 (32) + 365 (64)
 
	
	
		Hallöchen, mal noch zwei Hinweise 1) der Code listet die Dateinamen, auf die Verknüpfungen gehen. Er listet keine Zelladressen, Bereichsnamen, Formeln usw. die die Verknüpfungen verwenden. Wäre eventuell kontraproduktiv und in der weiteren Analyse aufwändiger, wenn Formeln mit Verknüpfungen recht häufig verwendet werden. 2) Du kannst den Code z.B. anhand weniger Dateien testen. Wenn das Ergebnis Deinen Ansprüchen genügt, dann kannst Du ihn auch mal Abends oder über Nacht laufen lassen, wenn es nicht stört    Schlimmstenfalls läuft der Rechner in den Ruhezustand, aber da kann man ja mal die Einstellungen ändern   
.      \\\|///      Hoffe, geholfen zu haben.( ô ô )      Grüße, André aus G in T
 ooO-(_)-Ooo    (Excel 97-2019+365)
 |