Ich habe in einem lokalen Ordner eine Quelldatei mit einer zweispaltigen Tabelle mit Schlüssel-Wert-Paaren und eine Zieldatei, die Daten aus der Quelle wie folgt verwendet:
Link zu einer bestimmten Zelle:
='C:\Temp[Quelle.xlsx]Tabelle1'!$B1
Einen Wert aus einem Bereich abfragen:
=SVERWEIS(A1,'C:\Temp[Quelle.xlsx]Tabelle1'!$A$1:$B$6,2,0)
SUMIFS-Funktion mit Bereich und Bedingung:
=SUMMEWENNS('C:\Temp[Quelle.xlsx]Tabelle1'!$B$1:$B$6,'C:\Temp[Quelle.xlsx]Tabelle1'!$A$1:$A$6,D1)
Wenn ich die Zielarbeitsmappe öffne, ohne die Quellarbeitsmappe zu öffnen, erhalte ich die Meldung „Diese Arbeitsmappe enthält Links zu …“ mit den Optionen „Aktualisieren“ und „Nicht aktualisieren“. Im Hintergrund dieser Eingabeaufforderung kann ich die Werte sehen, die beim Schließen der Datei gespeichert wurden.
Wenn die Quelldatei geschlossen bleibt und ich die Option "Aktualisieren" wähle, erhalte ich korrekte Werte für den Link (1) und für die Abfrage (2), aber#WERT!Fehler bei SUMIFS (3). Wenn ich jetzt die Quelldatei öffne, wird der SUMIFS-Wert korrekt berechnet.
Bitte beachten Sie, dass ich - ohne die Quelldatei zu öffnen - im Dialog "Links bearbeiten" (aus dem Datenordner) zuerst den Status "unbekannt" für die Quelldatei erhalte, dann "OK", nachdem ich auf "Status prüfen" geklickt habe und immer noch #VALUE, nachdem ich auf "Werte aktualisieren" geklickt habe.
Dies ist der Testfall, den ich für eine arbeitsbezogene Situation verwendet habe: eine Datei mit der Funktion SUMIFS mit Argumenten, die auf eine Quelldatei verweisen, die bei der Aufforderung zum Aktualisieren/Nicht-Aktualisieren den richtigen Wert anzeigt, sich aber unabhängig von der gewählten Option (Aktualisieren oder Nicht-Aktualisieren) in den Fehler #VALUE! ändert.
Die offensichtlichen Fragen:Warum macht Excel 2013 das und wie kann man es lösen?
Antwort1
Excel funktioniert wie vorgesehen. Formeln können keine Daten aus geschlossenen Arbeitsmappen lesen.
Um diese Einschränkung zu umgehen, müssen Sie VBA verwenden, um Daten aus den geschlossenen Dateien abzurufen. Sie können auch nach „Excel 2013 – geschlossene Arbeitsmappendaten“ suchen, um andere Methoden zu finden.
Hier ist ein Beispiel, wie man das erreichen kann.Lesen von Informationen aus einer geschlossenen Arbeitsmappe mithilfe von VBA in Microsoft Excel:
Sub GetDataFromClosedWorkbook()
Dim wb As Workbook
Application.ScreenUpdating = False ' turn off the screen updating
Set wb = Workbooks.Open("C:\Foldername\Filename.xls", True, True)
' open the source workbook, read only
With ThisWorkbook.Worksheets("TargetSheetName")
' read data from the source workbook
.Range("A10").Formula = wb.Worksheets("SourceSheetName").Range("A10").Formula
.Range("A11").Formula = wb.Worksheets("SourceSheetName").Range("A20").Formula
.Range("A12").Formula = wb.Worksheets("SourceSheetName").Range("A30").Formula
.Range("A13").Formula = wb.Worksheets("SourceSheetName").Range("A40").Formula
End With
wb.Close False ' close the source workbook without saving any changes
Set wb = Nothing ' free memory
Application.ScreenUpdating = True ' turn on the screen updating
End Sub
Hier ist ein weiteres Beispiel -Excel „Pull“-Funktion: Dynamische Links zu geschlossenen Arbeitsmappen erstellen.
Sie müssen damit experimentieren, um es an Ihre eigenen Bedürfnisse anzupassen.