Excel: Wert aus mehreren Datein suchen und zugehörige Werte ausgeben
Hallo zusammen,
ich habe schon mehrere ähnliche Beiträge gefunden und Codes ausprobiert, aber noch nicht die richtige und funktionierende Lösung gefunden.
Ich befürchte mein VAB-Wissen ist da sehr fundamental und reicht nicht aus....
Ich möchte in Excel 2010 eine Suchmaske erstellen, die mir die Information über "Kiste" und "Position" herausgibt.
Diese Infos sind in mehreren Dateien verteilt, jeweils aber in diesem Format und immer mit gleichem Tabellenblatt-Titel.
Kiste Position Name
1 1 A
1 2 B
1 3 C
1 4 D
1 5 E
2 6 F
2 7 G
2 8 H
2 9 I
2 10 J
Die Suchmaske soll dann die Suche nach mehreren Namen ermöglichen.
Das sollte so aussehen:
SUCHE
F welche Kiste /welche Position
B welche Kiste /welche Position
H welche Kiste /welche Position
Wäre toll, wenn das ohne Input-Box funktioniert, da ich meiste Listen von 10-50 Namen habe.
Danke im Voraus
Viele Grüße
Jessi
ich habe schon mehrere ähnliche Beiträge gefunden und Codes ausprobiert, aber noch nicht die richtige und funktionierende Lösung gefunden.
Ich befürchte mein VAB-Wissen ist da sehr fundamental und reicht nicht aus....
Ich möchte in Excel 2010 eine Suchmaske erstellen, die mir die Information über "Kiste" und "Position" herausgibt.
Diese Infos sind in mehreren Dateien verteilt, jeweils aber in diesem Format und immer mit gleichem Tabellenblatt-Titel.
Kiste Position Name
1 1 A
1 2 B
1 3 C
1 4 D
1 5 E
2 6 F
2 7 G
2 8 H
2 9 I
2 10 J
Die Suchmaske soll dann die Suche nach mehreren Namen ermöglichen.
Das sollte so aussehen:
SUCHE
F welche Kiste /welche Position
B welche Kiste /welche Position
H welche Kiste /welche Position
Wäre toll, wenn das ohne Input-Box funktioniert, da ich meiste Listen von 10-50 Namen habe.
Danke im Voraus
Viele Grüße
Jessi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334930
Url: https://administrator.de/contentid/334930
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
11 Kommentare
Neuester Kommentar
Vermutlich an der Zeit oder der Lesebereitschaft.
Tja wenn man sich noch nicht mal die Mühe macht es so zu beschreiben das es jeder unmissverständlich versteht dann könnte man drüber nachdenken, aber so sieht das halt nach Faulheit aus... Schau dir die Formatierung deiner Frage an, wer soll da irgendwie draus schließen wie die Dateien aussehen etc. wo und wie gesucht werden soll.
Das Forum bietet dir genügend Möglichkeiten es vernünftig darzustellen inkl. Bild , Tabellenformatierung &Co!! Das es besser geht sieht man an genügend anderen Fragestellern die es besser machen. Am Feedback siehst du das sich keiner die Mühe machen will alles erst erfragen zu müssen. Ein Mindestmaß an Mühe sollte man schon erwarten können wenn man hier "kostenlose" Hilfe erwartet!
Das Forum bietet dir genügend Möglichkeiten es vernünftig darzustellen inkl. Bild , Tabellenformatierung &Co!! Das es besser geht sieht man an genügend anderen Fragestellern die es besser machen. Am Feedback siehst du das sich keiner die Mühe machen will alles erst erfragen zu müssen. Ein Mindestmaß an Mühe sollte man schon erwarten können wenn man hier "kostenlose" Hilfe erwartet!
Servus Jessi,
hab es dir hier in ein ZIP mit Beispieldaten gepackt, damit es keine Missverständnisse mit den Positionen deiner Daten gibt:
search_in_sheets_334930.zip
(Kommentare findest du für die Zeilen im Code)
Hier noch der Code aus dem Demo-Sheet.
Grüße Uwe
hab es dir hier in ein ZIP mit Beispieldaten gepackt, damit es keine Missverständnisse mit den Positionen deiner Daten gibt:
search_in_sheets_334930.zip
(Kommentare findest du für die Zeilen im Code)
Hier noch der Code aus dem Demo-Sheet.
Sub SearchInSheets()
Dim strPath As String, ws As Worksheet, cFile As String, rngSearch As Range, rngSource As Range, intFoundCount As Integer
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Pfad in dem die Dateien liegen (Default ist hier der Pfad in dem diese Datei liegt)
strPath = ThisWorkbook.Path
'Alle *.xlsx Dateien suchen
cFile = Dir(strPath & "\*.xlsx")
With ActiveSheet
'Suchbegriff Range ermitteln
Set rngSource = .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
' Lösche vorhergehende Suchergebnisse
rngSource.Offset(0, 1).Resize(, 2).ClearContents
'Jede *.xlsx Datei durchsuchen
Do While cFile <> ""
'Datei öffnen und erstes Sheet referenzieren
Set ws = GetObject(strPath & "\" & cFile).Sheets(1)
' Definiere belegten Suchbereich Spalte C
Set rngSearch = ws.Range("C2:C" & ws.Cells(Rows.Count, "C").End(xlUp).Row)
' Suche im aktuellen Sheet alle ungefundenen Suchbegriffe
For Each cell In rngSource
If cell.Offset(0, 1).Value = "" Then
' Suche starten
Set f = rngSearch.Find(cell.Value, LookIn:=xlValues, LookAt:=xlWhole)
' War Suche erfolgreich setze die Informationen neben den Suchbegriff
If Not f Is Nothing Then
cell.Offset(0, 1).Resize(1, 2).Value = f.Offset(0, -2).Resize(1, 2).Value
intFoundCount = intFoundCount + 1
End If
End If
Next
'Datei wieder schließen
ws.Parent.Close False
' Alle Suchbegriffe wurden gefunden => beende Schleife
If intSourceCount = rngSource.Rows.Count Then Exit Do
'nächste Datei holen
cFile = Dir
Loop
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
' Fertig
MsgBox "Suche beendet", vbInformation
End Sub
Grüße Uwe