Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rechnen mit verknüpften Arbeitsmappen

Rechnen mit verknüpften Arbeitsmappen
11.09.2006 07:59:38
Frank
Hallo,
folgendes Problem in EXCEL 2002. Habe hier ne Menge Dateien, die miteinander verknüpft sind. Bsp.
Datei QUELLE z.b. mit dem Wert 15
Datei ZWISCHENZIEL bezieht den Wert 15 aus der Datei QUELLE, daneben der Wert 5
Datei ZIEL bezieht den (verknüpften) Wert aus Zwischenziel und multipliziert diesen mit dem Wert 5
Alle Dateien werden geschlossen. In der Quelle ändere ich den Wert in 1500 um und schließe die Datei.
Ich öffne die Datei ZIEL, lass das ganze aktualisieren - aber es wird immer noch der Wert 15 ausgegeben - d.h. die Datei Zwischenziel wird (im Hintergrund) vom System NICHT aktualisiert. Öffne ich alle notwendigen Dateien, klappts. Das ist aber nur ein Beispiel. Bei dem Fall, den ich hier habe, handelt es sich locker um 80 Dateien, die alle miteinander verknüpft sind.
Gibt es eine Möglichkeit zu sagen, das beim Öffnen einer Datei ALLE verknüpften Werte aktualisiert werden?
Freue mich über jeden hilfreichen Tipp
Gruß
Frank

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnen mit verknüpften Arbeitsmappen
11.09.2006 13:03:59
Coach
Hallo Frank,
Excel aktualisiert immer nur die Verknüpfungen mit der unmittelbar vorherigen Ebene.
Hier eine Lösung für beliebig viele Ebenen mit Vermeidung von Doppelaktualisierungen mit der Einschränkung, dass keine der verknüpften Dateien den gleichen Namen wie eine geöffnete Datei oder ihr in der Hierarchie (aufsteigend) folgende Datei haben darf (ohne Fehlerbehandlungsroutinen):
Option Explicit
Dim MyCol As Collection

Sub AktVerknRekursionOW()
Set MyCol = New Collection
Call SubAktVerknRekursionOW(ActiveWorkbook)
Call LoescheCollection
End Sub


Sub SubAktVerknRekursionOW(ByRef wb As Workbook)
Dim aLinks As Variant
Dim i As Integer
Dim swb As Workbook
aLinks = wb.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
If Not (BereitsAktualisiert(aLinks(i))) Then
If DateiIstOffen(aLinks(i)) Then
Call SubAktVerknRekursionOW(Workbooks(Mid(aLinks(i), InStrRev(aLinks(i), "\", -1, vbTextCompare) + 1)))
Else
Set swb = Application.Workbooks.Open(aLinks(i), False, False)
Call SubAktVerknRekursionOW(swb)
swb.Close SaveChanges:=True
wb.UpdateLink aLinks(i), Type:=xlExcelLinks
End If
Call MyCol.Add(MyCol.Count + 1, aLinks(i))
ElseIf Not (DateiIstOffen(aLinks(i))) Then
wb.UpdateLink aLinks(i), Type:=xlExcelLinks
End If
Next
wb.Save
End If
End Sub


Function BereitsAktualisiert(ByVal FileName$) As Boolean
On Error Resume Next
BereitsAktualisiert = (MyCol(FileName) > 0)
End Function


Function DateiIstOffen(ByVal FileName$) As Boolean
Dim wb As Workbook
For Each wb In Workbooks
If StrComp(wb.Path & "\" & wb.Name, FileName, vbTextCompare) = 0 Then
DateiIstOffen = True: Exit Function
End If
Next
DateiIstOffen = False
End Function


Sub LoescheCollection()
Dim i As Long
For i = 1 To MyCol.Count
MyCol.Remove 1
Next
Set MyCol = Nothing
End Sub

Gruß Coach
Anzeige
AW: Rechnen mit verknüpften Arbeitsmappen
11.09.2006 15:42:28
Frank
Hallo Coach,
vorab vielen Dank für die schnelle Antwort.
Leider ist es so, das viele Dateien oberhalb der Hierarchie liegen - hab ich auch schon bemängelt! Wird demnächst optimiert sein.
Trotzallem: Welche Teile des VBA-Codes muss ich denn auf meine Umgebung anpassen?
Danke für deine Hilfe
Frank
AW: Rechnen mit verknüpften Arbeitsmappen
11.09.2006 21:58:28
Coach
Hallo Frank,
im Prinzip nur ein eventuelles Passwort, da AktVerknRekursionOW() die Aktualisierung rekursiv für das aktuelle Workbook ausführt.
Gruß Coach

187 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige