Excel Dateien durchsuchen und mehrere Werte in neue Excel Datei auslesen
Hallo zusammen,
im Forum bin ich schon auf einen guten Ansatz gestoßen der mir schon sehr weiter Hilft aber eben noch nicht vollständig ist ;)
Hier einmal der Beitrag von Bastla [
Excel Dateien durchsuchen und Werte in neue Excel Datei auslesen hier]
Beschreibung der zu durchsuchenden Excel-Datei:
Es sind ein ganzer Schwung an Excel-Tabellen mit einer Auswertung von einer Maschine die wie auf einem DIN-A4 Blatt aufgebaut sind. Aus dieser Tabelle brauche ich nun 10-15 werte, bei einigen dieser Werte ist die Zelle immer die gleiche, es sind aber auch welche dabei bei denen der Wert um eine Zeile verschoben ist (es steht also etwas in z.b. A1 oder A2 aber nicht in beiden, dies kommt in einer Zeile vor mit 3 auszulesenden Werten)
Die neue Excel-Datei:
Es soll am ende also eine Liste entstehen bei denen ich die Werte Übersichtlich in einer Tabelle habe und zur not Filtern kann.
-ein Hyperlink sodass ich mit einem "Klick" die Ursprungsdatei aufrufen kann
Die Dateien die Excel durchsuchen soll (optional):
Es gibt einen Ordner in diesem Ordner sind weitere Ordner mit Monat und Jahr (Januar 2016, Februar 2016, usw.) und in diesen sind die Excel Dateien sortiert.
In meiner ausgelesenen Excel-Tabelle müsste also auch der Name des Ordners stehen sodas ich nachvollziehen kann in welchen Monat,Jahr diese Werte stammen.
Ich hoffe ich konnte mein Problem und die Situation hilfreich übermitteln ;)
Ich hoffe Ihr könnt mir weiter helfen
Lieben Gruß
im Forum bin ich schon auf einen guten Ansatz gestoßen der mir schon sehr weiter Hilft aber eben noch nicht vollständig ist ;)
Hier einmal der Beitrag von Bastla [
Excel Dateien durchsuchen und Werte in neue Excel Datei auslesen hier]
Beschreibung der zu durchsuchenden Excel-Datei:
Es sind ein ganzer Schwung an Excel-Tabellen mit einer Auswertung von einer Maschine die wie auf einem DIN-A4 Blatt aufgebaut sind. Aus dieser Tabelle brauche ich nun 10-15 werte, bei einigen dieser Werte ist die Zelle immer die gleiche, es sind aber auch welche dabei bei denen der Wert um eine Zeile verschoben ist (es steht also etwas in z.b. A1 oder A2 aber nicht in beiden, dies kommt in einer Zeile vor mit 3 auszulesenden Werten)
Die neue Excel-Datei:
Es soll am ende also eine Liste entstehen bei denen ich die Werte Übersichtlich in einer Tabelle habe und zur not Filtern kann.
-ein Hyperlink sodass ich mit einem "Klick" die Ursprungsdatei aufrufen kann
Die Dateien die Excel durchsuchen soll (optional):
Es gibt einen Ordner in diesem Ordner sind weitere Ordner mit Monat und Jahr (Januar 2016, Februar 2016, usw.) und in diesen sind die Excel Dateien sortiert.
In meiner ausgelesenen Excel-Tabelle müsste also auch der Name des Ordners stehen sodas ich nachvollziehen kann in welchen Monat,Jahr diese Werte stammen.
Ich hoffe ich konnte mein Problem und die Situation hilfreich übermitteln ;)
Ich hoffe Ihr könnt mir weiter helfen
Lieben Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299238
Url: https://administrator.de/forum/excel-dateien-durchsuchen-und-mehrere-werte-in-neue-excel-datei-auslesen-299238.html
Ausgedruckt am: 28.04.2025 um 21:04 Uhr
7 Kommentare
Neuester Kommentar

Moin,
und nach was und in welcher Spalte der Sheets suchst du ?
Gruß jodel32
p.s. das hier ist schon fast fertig für dich, nur minimale Anpassungen für deine Variante nötig.
Excel Makro, VBA soll Pfad auslesen Ordner inkl. Unterordner die vorliegenden Excel Dateien öffnen und 2 bestimmt Zellen in eine neue Excel untereinander schreiben
und nach was und in welcher Spalte der Sheets suchst du ?
Gruß jodel32
p.s. das hier ist schon fast fertig für dich, nur minimale Anpassungen für deine Variante nötig.
Excel Makro, VBA soll Pfad auslesen Ordner inkl. Unterordner die vorliegenden Excel Dateien öffnen und 2 bestimmt Zellen in eine neue Excel untereinander schreiben

Zitat von @Collatus:
Zu durchsuchen sind:
H10;H11;AP11;P24; ( L25 oder L26; BA25 oder BA26; CJ25 oder CJ26 oder CK25 oder CK26);CA10 + Dateiname + Hyperlink
????Zu durchsuchen sind:
H10;H11;AP11;P24; ( L25 oder L26; BA25 oder BA26; CJ25 oder CJ26 oder CK25 oder CK26);CA10 + Dateiname + Hyperlink
Und was wird in den Zellen gesucht und was soll dann in die neue Datei übernommen werden, nur die Zelle wo etwas gefunden wurde oder auch Zellen neben an etc. pp ?
Ich hoffe deine Frage habe ich richtig interpretiert ...

Dim fso As Object
Sub ImportData()
Dim col As New Collection, file As Variant, wb As Workbook, rngDest as Range, strSearch as String
'Ordner der die Dateien enthält
Const FOLDER = "C:\MeineDateien"
strSearch = InputBox("Suchbegriff eingeben")
'Filesystemobject
Set fso = CreateObject("Scripting.FileSystemObject")
'alle Excel-Dateien rekursiv listen
getAllFiles fso.GetFolder(FOLDER), True, Array("xlsx", "xls"), col
'Screenupdates und eventuelle Dialoge für Batchbetrieb unterdrücken
Application.DisplayAlerts = False
Application.ScreenUpdating = False
With Sheets(1)
'nächste freie Zelle in Spalte A ermitteln
Set rngDest = .Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
'Für jede Excel-Datei
For Each file In col
'Workbook öffnen
Set wb = Workbooks.Open(file)
'Suche im Sheet starten
Set f = wb.Sheets(1).Range("H10,H11,AP11,P24,L25,L26,BA25,BA26,CJ25,CJ26,CK25,CK26,CA10").Find(strSearch,SearchIn:=xlValues)
'Wenn der Wert gedunden wurde
if not f is Nothing then
'schreibe den gefundenen Wert und den Dateinamen in das Zielsheet inkl. Hyperlink
rngDest.Resize(1,2).Value = Array(f.Value,file)
wb.Sheets(1).Hyperlinks.Add rngDest.Offset(0,1),rngDest.Offset(0,1).Value
'nächste freie Zelle setzen
Set rngDest = rngDest.Offset(1, 0)
End if
'WB schließen
wb.Close False
Next
End With
'Screenupdates und Dialoge wieder einschalten
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sub getAllFiles(ByVal fldr As Object, boolRecursion As Boolean, arrFileExtensions As Variant, ByRef col As Collection)
For Each file In fldr.Files
For i = 0 To UBound(arrFileExtensions)
If LCase(arrFileExtensions(i)) = LCase(fso.GetExtensionName(file.Path)) Then
col.Add file.Path
Exit For
End If
Next
Next
If boolRecursion Then
For Each subFolder In fldr.SubFolders
getAllFiles subFolder, True, arrFileExtensions, col
Next
End If
End Sub

Genau das tut der obige angepasste Code von @colinardo... Ist ja jede Zeile kommentiert....