Discussion:
Verknüpfungen aktualisieren per VBA (Summewenn)
(zu alt für eine Antwort)
Karsten W.
2007-08-03 06:56:02 UTC
Permalink
Hallo!
In unserer Arbeitsmappe gibt es einen Aufruf der Summewenn-Funktion,
die auf eine andere Excel-Datei angewendet wird. Beim Öffnen der
Arbeitsmappe wird gefragt, ob wir aktualiseren wollen, jedoch
scheitert die Aktualisierung, wenn die Quelldatei nicht geöffnet ist.
Offenbar handelt es sich um eine Parameterabfrage(?)

Als Lösung haben wir jetzt versucht, die Quelldatei mit VBA zu öffnen,
zu aktualisiern und wieder zu schließen, aber das funktioniert erstmal
nicht:

'Private Sub Workbook_Open()
Private Sub funktioniert_nicht()
Dim i As Integer
Dim arrVerknuepf As Variant
arrVerknuepf = ThisWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(arrVerknuepf) Then
For i = LBound(arrVerknuepf) To UBound(arrVerknuepf)
Workbooks.Open Filename:=arrVerknuepf(i)
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
ActiveWorkbook.Close (False)
Next
End If
End Sub

Hat jemand einen Tipp, wie wir das zu Laufen kriegen?

Freundliche Grüße,
Karsten.
stefan onken
2007-08-03 08:02:15 UTC
Permalink
hallo Karsten,
tausche mal die beiden Codezeilen
Workbooks.Open Filename:=arrVerknuepf(i)
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
miteinander, also in
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
Workbooks.Open Filename:=arrVerknuepf(i)

Alternative:
anstatt Summewenn() eine Formel in der Art {Summe(Wenn())}
die wird auch bei geschlossener Mappe aktualisiert.
Die geschweiften Klammern (der Matrixformel) enstehen durch Eingabe
von Strg+Alt+Return.

Gruß
stefan
Post by Karsten W.
Hallo!
In unserer Arbeitsmappe gibt es einen Aufruf der Summewenn-Funktion,
die auf eine andere Excel-Datei angewendet wird. Beim Öffnen der
Arbeitsmappe wird gefragt, ob wir aktualiseren wollen, jedoch
scheitert die Aktualisierung, wenn die Quelldatei nicht geöffnet ist.
Offenbar handelt es sich um eine Parameterabfrage(?)
Als Lösung haben wir jetzt versucht, die Quelldatei mit VBA zu öffnen,
zu aktualisiern und wieder zu schließen, aber das funktioniert erstmal
'Private Sub Workbook_Open()
Private Sub funktioniert_nicht()
Dim i As Integer
Dim arrVerknuepf As Variant
arrVerknuepf = ThisWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(arrVerknuepf) Then
For i = LBound(arrVerknuepf) To UBound(arrVerknuepf)
Workbooks.Open Filename:=arrVerknuepf(i)
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
ActiveWorkbook.Close (False)
Next
End If
End Sub
Hat jemand einen Tipp, wie wir das zu Laufen kriegen?
Freundliche Grüße,
Karsten.
Karsten W.
2007-08-05 20:51:55 UTC
Permalink
Post by stefan onken
hallo Karsten,
tausche mal die beiden Codezeilen
Workbooks.Open Filename:=arrVerknuepf(i)
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
miteinander, also in
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
Workbooks.Open Filename:=arrVerknuepf(i)
anstatt Summewenn() eine Formel in der Art {Summe(Wenn())}
die wird auch bei geschlossener Mappe aktualisiert.
Die geschweiften Klammern (der Matrixformel) enstehen durch Eingabe
von Strg+Alt+Return.
Gruß
stefan
Post by Karsten W.
Hallo!
In unserer Arbeitsmappe gibt es einen Aufruf der Summewenn-Funktion,
die auf eine andere Excel-Datei angewendet wird. Beim Öffnen der
Arbeitsmappe wird gefragt, ob wir aktualiseren wollen, jedoch
scheitert die Aktualisierung, wenn die Quelldatei nicht geöffnet ist.
Offenbar handelt es sich um eine Parameterabfrage(?)
Als Lösung haben wir jetzt versucht, die Quelldatei mit VBA zu öffnen,
zu aktualisiern und wieder zu schließen, aber das funktioniert erstmal
'Private Sub Workbook_Open()
Private Sub funktioniert_nicht()
Dim i As Integer
Dim arrVerknuepf As Variant
arrVerknuepf = ThisWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(arrVerknuepf) Then
For i = LBound(arrVerknuepf) To UBound(arrVerknuepf)
Workbooks.Open Filename:=arrVerknuepf(i)
ThisWorkbook.UpdateLink arrVerknuepf(i), xlExcelLinks
ActiveWorkbook.Close (False)
Next
End If
End Sub
Hat jemand einen Tipp, wie wir das zu Laufen kriegen?
Freundliche Grüße,
Karsten.- Zitierten Text ausblenden -
- Zitierten Text anzeigen -
Hallo!
Vielen Dank für die Tipps!
Den ersten werden wir noch ausprobieren. Der zweite (Matrixformel) hat
nicht geklappt. (Excel 2003)

Viele Grüße,
Karsten.

Loading...