rubylissy
Goto Top

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

Content-Key: 334930

Url: https://administrator.de/contentid/334930

Printed on: April 25, 2024 at 01:04 o'clock

Mitglied: 132895
132895 Apr 12, 2017 at 11:21:34 (UTC)
Goto Top
Member: holli.zimmi
holli.zimmi Apr 12, 2017 at 12:29:21 (UTC)
Goto Top
Hi,

woran hapert es genau?

Gruß

Holli
Mitglied: 132895
132895 Apr 12, 2017 updated at 12:38:27 (UTC)
Goto Top
Zitat von @holli.zimmi:
woran hapert es genau?
Vermutlich an der Zeit oder der Lesebereitschaft.
Member: RubyLissy
RubyLissy Apr 13, 2017 at 06:19:36 (UTC)
Goto Top
Es scheitert, wie beschrieben, an meinem Wissen.
Leider bin ich keine Entwicklerin, beschäftige mich gern privat damit und nutze das bisschen Verständnis von Quellcodes für meine Arbeit, um Prozess zu optimieren.
Anscheinend habe ich mir da zu viel vorgenommen und buche mir erstmal nen VBA-Kurs....

Also vergesst es einfach.
Member: RubyLissy
RubyLissy Apr 13, 2017 at 08:35:55 (UTC)
Goto Top
oder an Hilfbereitschaft...
Mitglied: 132895
132895 Apr 13, 2017 updated at 09:15:20 (UTC)
Goto Top
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!
Member: RubyLissy
RubyLissy Apr 13, 2017 at 09:46:32 (UTC)
Goto Top
Schade, dass es so aussieht, dass ich mir keine Mühe machen wolle.
Das war nicht meine Absicht.
Mit dieser Antwort von dir kann ich auf jeden Fall mehr anfangen.

Wenn also die Bereitschaft da ist, mir doch noch etwas zu helfen, würde ich mir natürlich nochmal Mühe geben das Problem mit Beispielen genauer zu beschreiben.
Member: RubyLissy
RubyLissy Apr 13, 2017 at 09:58:08 (UTC)
Goto Top
So sehen meine Listen aus:

stammliste

Die enthalten bis zu 20 Kisten und je 64 Positionen.
Das Ganze gibt es in mehreren Dateien.

Das Durchsuchen der Dateien hatte ich mit einem solchen Code versucht

Set oMe = ThisWorkbook.Worksheets("Tabelle1") 'Zieltabelle (in der gerade geöffneten Datei)  

iZeile = 1 'ab dieser Zeile Ergebnisse in die Zieltabelle eintragen  


iSpalte = 2



Const sDateiPfad As String ="Ordner" 'Pfad für zu durchsuchende Excel-Dateien; mit Backslash am Ende  

So hätte ich gern die Ausgabe

stammliste ausgabe
Member: colinardo
Solution colinardo Apr 13, 2017, updated at Nov 08, 2022 at 08:55:53 (UTC)
Goto Top
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.
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
Member: RubyLissy
RubyLissy Apr 13, 2017 at 19:26:32 (UTC)
Goto Top
Wow, vielen Dank dafür.
Werde es dann nach Ostern erst ausprobieren können und mich nochmal melden.
Member: RubyLissy
RubyLissy Apr 27, 2017 at 06:10:39 (UTC)
Goto Top
Funktioniert!
MEGA!

Vielen Dank