13.03.2019, 11:04 (Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2019, 11:04 von MK-184.)
Hallo in die Runde,
ich habe folgendes Problem. Ich möchte über die Suchfunktion zwei Excel-Datein gleichzeitig durchsuchen, z.B. über Nachnamen (Spalte C) oder Geburtsdatum (Spalte H).
Jede Excel-Datei hat verschiedene Sheets, aber mit dem gleichen Aufbau.
Mir ist bewusst, dass ich ein Makro schreiben muss, weiß aber nicht wie.
Deine Ausführungen sind sehr allgemein formuliert. Wie sind den deine VBA Kenntnisse? Je wenige umso deutlicher solltest du uns deine Datei beschreiben oder besser noch zeigen.
18.03.2019, 16:50 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2019, 16:51 von MK-184.)
Hallöchen,
sorry für die verspätete Antwort.
Anbei habe ich beispielhaft mal eine Excel-Tabelle erstellt. Diese Datei wird für des Ereignis (unterscheidet sich im Datum) erstellt. Jeder Reiter ist gleich aufgebaut.
Ich möchte nun Datei AV_10_19 öffnen und z.B. mit der Tastenkombination "strg+m" eine Suchfunktion aktivieren, die gleichzeitig die Datei "AV_04_19" im Hintergrund öffnet und auch durchsucht. Als Suchfaktoren werden Nachnamen benutzt, es sei denn, es ist ein häufiger Nachname wie Müller, da wird soll über Geburtsdatum gesucht werden.
verlinkst du bitte deine Fragen in den verschiedenen Foren gegenseitig? Danke.
Gruß, steve1da
Hallo,
Unbefriedigte Fragen zu verlinken erscheint mir genauso sinnvoll wie halbe Filme auf YouTube hochzuladen. Verlinkt doch besser befriedigende Antworten. Und: vielleicht wäre die Einführung eines "Langfrist Dankeschön's", welches man frühestens nach 3 Monaten als OP geben kann, eine gute Sache.
Suchvorgaben sind so weit gut beschrieben. Leider machst du keine Ausführungen was du dir als Ergebnis erwünscht, beziehungsweise wo es aufgeführt werden soll.
Zitat:Ich würde mir gerne gleich die Zeilen anzeigen lassen (wie bei der normalen Suchfunktion).
Ersetze vorhandenen Code mal durch diesen und es sollten erstmal alle Treffer angezeigt werden.
Code:
Public Sub Suche() Dim i As Long, j As Long, Anzahl As Long, SD As Long Dim SN As String, firstAddress As String, DateiNamen As String, strPfad As String Dim c As Range
strPfad = Range("B3").Value2 & "\" 'Dateipfad SN = Range("B12").Value2 'gesuchter Name SD = Range("B13").Value2 'gesuchte Geb.Datum
For j = 1 To Range("A5").Value2 'schleife alle Dateiennamen DateiNamen = Range("B3").Offset(j).Value2 On Error Resume Next Workbooks.Open strPfad & DateiNamen If Err.Number = 1004 Then MsgBox Err.Description 'Datei Pfad oder Name falsch Else For i = 1 To Sheets.Count 'schleife alle Blätter in der Datei Sheets(i).Select With Sheets(i).Columns("C") Set c = .Find(SN, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then firstAddress = c.Address Do If SD = 0 Then c.Activate MsgBox "weiter" Else If c.Offset(, 3).Value2 = SD Then c.Activate MsgBox "weiter" End If End If Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With Next i ActiveWorkbook.Close End If Next j
On Error GoTo 0 End Sub
Entspricht das so weit deinen Vorstellungen? Wie soll es dann weiter gehen? Welche Optionen soll es bei einem Fund geben?