HERBERS Excel-Forum - die Beispiele

Thema: Daten aus geschlossenen Arbeitsmappen listen

Home

Gruppe

Datei

Problem

Aus dem Verzeichnis c:\temp soll aus allen Excel-Tabellen der erste und letzte Wert in Spalte F ausgelesen werden, ohne dass diese Arbeitsmappen geöffnet werden. Die Werte sind durchgehend eingetragen.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: basMain

Sub DateienAuslesen()
   Dim rng As Range
   Dim arr As Variant
   Dim iCounter As Integer, iRow As Integer, iAct As Integer
   Dim sPath As String, sFormula As String, sTmp As String
   Application.ScreenUpdating = False
   sPath = Range("B1").Value
   arr = FileArray(sPath, "*.xls")
   For iCounter = 1 To UBound(arr)
      If FileDateTime(sPath & arr(iCounter)) <= Date + 1 Then
         With Worksheets("Import")
            If IsEmpty(.Cells(1, 1)) Then
               Set rng = .Range("A1")
            Else
               Set rng = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
            End If
         End With
         rng.Value = sPath & arr(iCounter)
         sFormula = "='"
         sFormula = sFormula & sPath & "["
         sFormula = sFormula & arr(iCounter) & "]"
         sFormula = sFormula & "Tabelle1'!"
         sTmp = Right(sFormula, Len(sFormula) - 1)
         sFormula = sFormula & "F1"
         rng.Offset(0, 1).Formula = sFormula
         rng.Offset(0, 2).Formula = "=counta(" & sTmp & "F:F)"
         iRow = rng.Offset(0, 2).Value
         If iRow > 0 Then
            rng.Offset(0, 2).Formula = "=" & sTmp & "F" & iRow
         Else
            rng.Offset(0, 2).ClearContents
         End If
      End If
   Next iCounter
   With Worksheets("Import").Range("A1").CurrentRegion
      .Value = .Value
   End With
End Sub

Function FileArray(sPath As String, sPattern As String)
   Dim arr()
   Dim iCounter As Integer
   Dim sFile As String
   If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
   sFile = Dir(sPath & sPattern)
   Do While sFile <> ""
       iCounter = iCounter + 1
       ReDim Preserve arr(1 To iCounter)
       arr(iCounter) = sFile
       sFile = Dir()
   Loop
   FileArray = arr
End Function

Beiträge aus dem Excel-Forum zu den Themen Datei und Arbeitsmappe

Excel/PDF Datei unter bestimmten Pfad abspeichern aus excel Worddatei nach Wert durchsuchen
Split-Funktion beim Einlesen TXT-Datei Datei löschen mit unterschiedlichen Zahlen im Name
Datei löschen mit unterschiedlichen Zhalen im Name geöffnete Worddatei und Word aus Excel beenden
Excel-Datei nicht im Projekt-Explorer Suche nach jüngster Datei
Mehrere Zellen in mehreren Dateien ersetzen Datei öffnen mit variablen im Namen
Vergleichen zweier Dateien und aktualisieren Datei langsam durch Formel
Dateien aus Unterordner öffnen Daten import aus txt--Datei
Variablen Übergabe an Makro (andere Arbeitsmappe) Dateipfad öffnen mit VBA
Datei-Verknüpfungen Masterdatei erschaffen?
Mehrere Datenblätter als PDF-Datei ausgeben Makro bei Erstellen einer Datei aus einer Vorlage
Zusammenführung aus mehreren Dateien Rechteck per Button in andere Datei einfügen.
Alle Dateien in einem Unterordner öffnen VBA: MsgBox: yes/no. Bei yes andere Datei öffnen
Mehrere txt Dateien einlesen in ein Programm VBA Datei als .txt speichern
Code erst nach Anzeige der Arbeitsmappe ausführen Excel Datei in CSV Datei wandeln mit Extras
aktierten Text in geöffnete Worddatei Spalte in andere Dateien kopieren + zurückkopieren
Aus einer CSV-Datei ein bestimmtes Layout erzeugen Daten ausgew. WS in 2. Datei zusammenführen
Per VBA aktuelle Datei in Autostart-Ordner csv Dateien importieren
Makrodatei als Software hochwertiger gestalten manuelles Speichern bei schreibgeschützter Datei
Daten aus geschlossener Datei in Zieldatei kopiere Dateinamen per VBA vorgeben (Datum: Vormonat)
Ordner mit Unterordnern/Dateien kopieren Auswertung über mehrere Dateien
Geschlossene Excel-Datei bearbeiten? datei öffnen durch vba ohne makroaktivierung
Datei öffnet im Entwurfsmodus Dateinamen der ausgelesenen Datei anzeigen
Dateien vergleichen-doppelte löschen Datendatei per Doppelklick einlesen
Hyperlink auf Excel-Datei funktioniert nicht Kopieren über 2 Dateien?
Dateiinfo aller Dateien in allen Verz./Unterverz