Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: daten aus geschlossener arbeitsmappe auslesen mit

daten aus geschlossener arbeitsmappe auslesen mit
15.05.2019 04:41:02
Stefan
Ich möchte in einem auftragsübersichtsblatt die Feld-Daten (im Beispiel das Feld B24) von verschiedenen Aufträgen einlesen. Diese Aufträge sind alle geschlossene XLSx Files.
Diese Formel im F5 funktioniert:
=WENNFEHLER(+'A:\Bulletins de livraisons\current\[201575.xlsm]Facture'!$B$24;"…")
und im F6
=WENNFEHLER(+'A:\Bulletins de livraisons\current\[201575.xlsm]Facture'!$B$26;"…")
usw total 25 Felder werden aus dem 201575 ausgelesen
nun sollte aber die 201575 aus dem Feld A5 ausgelesen werden, weil ich sonst ja für jeden Auftrag (im Feld A6 steht 201576 usw) die Formel neu schreiben muss, und es sind ca 2000 Aufträge deren Nummenr in Spalte A stehen mit je 25 Feldern die auszulesen sind
also habe ich folgendes probiert:
=WENNFEHLER(+'A:\Bulletins de livraisons\current\[&A5&".xlsm"]Facture'!$B$24;"…")
das funktioniert aber nicht, weil A5 nicht durch 201575 ersetzt wird, welches in A5 steht
=WENNFEHLER(+'A:\Bulletins de livraisons\current\[A5&".xlsm"]Facture'!$B$24;"…")
auch das funktioniert nicht, weil A5 nicht durch 201575 ersetzt wird, welches in A5 steht
wo stehe ich auf dem Schlauch?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: daten aus geschlossener arbeitsmappe auslesen mit
15.05.2019 20:11:44
Stefan
Hallo Case
Danke für deinen Hinweis. Ich kannte diesen. Der funktionierte bei mir aber nicht, weil das was in der Klammer steht (...wenn nichts schief geht) nicht zutrifft. Ich habe aber eine andere sogar schnellere Methode gefunden via Daten Text in Spalten. Formel dazu:
="=WENNFEHLER(+'A:\Bulletins de livraisons\current\["&$A2&".xlsm]Facture'!$B$24; "&'\\SRV-01\Administration\Bulletins de livraisons\[N° Offres, Commandes Clients - Offerten, Bestellungen Kunden.xlsm]Tricks und referenzzellen'!$C$5&") "
Die Verwendung von dieser Formel und anwenden von Text in Spalten für meine Aufgabe würde allerdings bedeuten, für 3000 Zeilen pro Blatt und für 25-50 Spalten je einzeln** so zu behandeln und es sind 5 Workbooks. Zudem muss ich das jedes mal wenn ein neuer Auftragsnummernkreis zum Einsatz kommt, erneut machen. Und spätestens bei jeder 4ten Spalte verklicke ich mich.
**Weil text in Spalten sich nicht auf mehrere Spalten gleichzeitig anwenden lässt.
Elegant und fehlerfrei wäre ein Grundblatt gefüllt mit der obigen Formel
=WENNFEHLER(+'A:\Bulletins de livraisons\current\[A5&".xlsm"]Facture'!$B$24;"…")
wo ich dann nur in der A Spalte die neuen Auftragsnummern erstelle und dann passen sich alle Formeln in dne Zeilen und dne Spalten entsprechend der Auftragsnummer an.
Mir ist nicht klar warum diese Formel nicht funktioniert. Ich kann sonnst alles mögliche und unmögliche mit dem &verketten und als Variable in einer Formel verwenden. Warum hier nicht, bei der simplen + Funktion?
Mit Indirekt übertölpeln geht nicht, weil die auszulesenden Arbeitsmappen allesamt zu sind.
en Gruess Stefan
Anzeige
In dem Fall würde ich das...
16.05.2019 07:11:49
Case
Hallo, :-)
... per VBA machen - da spielen die Dateinamen erstmal keine Rolle. ;-)
in meinem Blog findest Du unter dem Label Geschlossen eine ganze Reihe Beispiele - jeweils mit Download. ;-)
Servus
Case

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten aus geschlossener Arbeitsmappe auslesen


Schritt-für-Schritt-Anleitung

Um Daten aus einer geschlossenen Excel-Datei auszulesen, kannst du folgende Methoden verwenden:

  1. Direkte Formel: Wenn du die Datei manuell angibst, funktioniert das so:

    =WENNFEHLER(+'A:\Bulletins de livraisons\current\[201575.xlsm]Facture'!$B$24; "…")

    Diese Formel liest den Wert aus der Zelle B24 der angegebenen Datei.

  2. Dynamische Verknüpfung mit einer Zelle: Um die Auftragsnummer dynamisch aus einer Zelle zu lesen, kannst du die Formel wie folgt anpassen:

    =WENNFEHLER(+'A:\Bulletins de livraisons\current\["&$A5&".xlsm]Facture'!$B$24; "…")

    Stelle sicher, dass die Dateiendung korrekt ist und dass das „&“ richtig verwendet wird.

  3. VBA verwenden: Wenn du viele Daten aus geschlossenen Dateien auslesen musst, ist es effizienter, dies über ein VBA-Skript zu tun. Hier ein einfaches Beispiel:

    Function GetValueFromClosedWorkbook(wbPath As String, sheetName As String, cellRef As String) As Variant
       Dim wb As Workbook
       Application.ScreenUpdating = False
       On Error Resume Next
       Set wb = Workbooks.Open(wbPath, ReadOnly:=True)
       GetValueFromClosedWorkbook = wb.Sheets(sheetName).Range(cellRef).Value
       wb.Close False
       Application.ScreenUpdating = True
    End Function

Häufige Fehler und Lösungen

  • Fehler: #BEZUG!: Dieser Fehler tritt auf, wenn die Verknüpfung zur Datei nicht korrekt ist. Überprüfe den Dateipfad und den Dateinamen.
  • Fehler bei der dynamischen Formel: Wenn der Wert in A5 nicht ersetzt wird, kann es an der falschen Syntax liegen. Stelle sicher, dass du die richtige Verkettung verwendest.

Alternative Methoden

  • Power Query: Wenn du Excel 2016 oder höher verwendest, kannst du Power Query nutzen, um Daten aus geschlossenen Dateien zu importieren, ohne VBA. Du kannst die Abfrage so konfigurieren, dass sie die gewünschten Daten abruft.

  • Excel Daten aus geschlossener Datei auslesen ohne VBA: Eine weitere Möglichkeit besteht darin, die Funktion „Daten abrufen“ zu verwenden, um Daten aus geschlossenen Excel-Dateien zu importieren.


Praktische Beispiele

  1. Beispiel für die Formel: Angenommen, deine Auftragsnummern stehen in Spalte A und du möchtest die Daten aus B24 und B26 auslesen:

    =WENNFEHLER(+'A:\Bulletins de livraisons\current\["&$A2&".xlsm]Facture'!$B$24; "¬")
    =WENNFEHLER(+'A:\Bulletins de livraisons\current\["&$A2&".xlsm]Facture'!$B$26; "¬")
  2. VBA Beispiel: Hier ist ein Beispiel, wie du mit einer Schleife durch mehrere Auftragsnummern gehen kannst:

    Sub ReadClosedWorkbooks()
       Dim i As Long
       For i = 2 To 3000 ' Angenommen, die Auftragsnummern starten in A2
           Cells(i, 2).Value = GetValueFromClosedWorkbook("A:\Bulletins de livraisons\current\" & Cells(i, 1).Value & ".xlsm", "Facture", "B24")
       Next i
    End Sub

Tipps für Profis

  • Führe regelmäßig Backups durch, wenn du mit VBA arbeitest, um Datenverlust zu vermeiden.
  • Verwende Datenvalidierung, um sicherzustellen, dass nur gültige Auftragsnummern in die Zellen eingegeben werden.
  • Optimiere deine VBA-Skripte, um die Ausführungszeit zu minimieren, insbesondere wenn du große Datenmengen verarbeiten musst.

FAQ: Häufige Fragen

1. Wie kann ich Daten aus einer geschlossenen Datei ohne VBA auslesen?
Du kannst Excel-Funktionen wie WENNFEHLER und die direkte Verknüpfung mit der Datei verwenden, aber dies ist nicht so flexibel wie ein VBA-Skript.

2. Welche Excel-Version benötige ich für Power Query?
Power Query ist in Excel 2016 und höher integriert. In älteren Versionen musst du ein Add-In installieren.

3. Funktioniert das Auslesen von Daten auch mit XLS-Dateien?
Ja, das Auslesen funktioniert auch mit XLS-Dateien, achte jedoch darauf, die Dateiendungen und Pfade korrekt anzugeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige