alze1970

Wie kann ich alle Excel-Dateien eines bestimmten Unterverzeichnisses in einem Tabellenblatt auflisten?

Hallo zusammen,

wie kann ich mit hilfe eines Makros die Dateinamen aller Excel-Dateien eines bestimmten Unterverzeichnisses in einem Tabellenblatt in Spalte A auflisten? Anschließend soll aus der Datei der Inhalt einer Zelle (welcher zwar immer in der gleichen Spalte aber in unterschiedlichen Zeilen sein kann). In der Spalte vor der zu importierenden Zelle steht immer der gleiche Inhalt ("Gesamt").

Danke im voraus

alze1970
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 90167

Url: https://administrator.de/forum/wie-kann-ich-alle-excel-dateien-eines-bestimmten-unterverzeichnisses-in-einem-tabellenblatt-auflisten-90167.html

Ausgedruckt am: 30.06.2025 um 05:06 Uhr

KHP
KHP 19.06.2008 um 10:04:39 Uhr
Goto Top
Hallo,

versuch's mal mit dem Öffnen der Dateien, folgendermaßen:

    f = (FileSystem.Dir(VBAProject.DieseArbeitsmappe.Path & "\*.xls", vbNormal))  
   If f = "" Then Exit Sub   
   Do While f <> ""  
     fp = VBAProject.DieseArbeitsmappe.Path & "\" & f  
     Workbooks.Open Filename:=fp 
     '### hier die Anweisungen...  

     f = FileSystem.Dir
   Loop

Das dürfte für den Einstieg reichen, Gruß - Tobias
alze1970
alze1970 19.06.2008 um 10:36:33 Uhr
Goto Top
Hallo,

das mit dem Filenamen eintragen hab ich mittlerweile folgendermaßen gelöst:

Private Sub Worksheet_Activate()

Dim dat As String
Dim Zeile As Integer
Zeile = 5
dat = Dir("*.xls")
Do While dat > ""
Zeile = Zeile + 1
Cells(Zeile, "A") = dat
dat = Dir
Loop
End Sub

Hierbei werden die Namen der vorhandenen Excel-Files im Verzeichnis beim aktivieren des Worksheets in die Spalte A eingetragen. Wo ich noch Probleme hab ist das eintragen des Zellinhaltes (In der in Spalte A eingetragenen Datei, Spalte B, Zeile wechselnd; jedoch ist immer in der Spalte A, gleiche Zeile der Text "Gesamt" eingetragen). Kannst du mir hierbei noch nen Tip geben?

Danke

Alex
KHP
KHP 19.06.2008 um 11:14:23 Uhr
Goto Top
Du müßtest wohl die einzelnen Workbooks im Verzeichnis öffnen (s. oben) und dann mit einer Schleife z.B.
for i=1 to workbooks.count
 if workbook(i).name <> activeworkbook.name then
  '###Anweisungen z.B.  gesuchteDaten = workbook(i).worksheet(1).cells(1,2).value  
 

 workbook(i).close
 endif
next i

die gewünschten Daten heraussuchen, ggf. noch eine Schleife einbauen um das Dokument zu durchsuchen.