Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Suche erweitern

VBA: Suche erweitern
08.07.2017 11:43:58
Darren
Hi,
wie kann ich die Suche für diesen Befehl erweitern?
begriff(a)= name1 (Spalte A)
begriff(b)= name2 (Spalte B)
begriff(c)= name3 (Spalte C)
begriff(d)= name4 (Spalte D)
Workbooks(dateiB).Worksheets(blattB).Columns(s(1)).Find(begriff(a), LookIn:=xlValues)
Es soll die Begriffe - groß und klein geschrieben - gleich behandeln.
Sucht es immer nur exakt was gesucht wird und zu 100% oder kann es in einem Satz suchen, wo die Begriffe eingebaut sind?
Kann man irgendnwie definieren, ob der Begriff "a" exakt gefunden werden muss, oder es blanks usw berücksichtigt(also zwei Varianten: Exakt und Flexibler)?
Grüße
Darren

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Suche erweitern
08.07.2017 13:45:11
Hajo_Zi
man sollte alle Schalter angeben, damit VBA nicht die letzten benutzt.
LookAt:=xlPart

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
AW: VBA: Suche erweitern
08.07.2017 15:20:55
Darren
Danke Hajo,
Du meinst statt LookIn:=xlValues) Dein Befehl angeben? Das wars?
Wie baue ich die anderen Begriffe ein im Find?
Gruß
Darren
AW: VBA: Suche erweitern
08.07.2017 15:23:21
Hajo_Zi
das hatte ich nicht geschrieben.
Set Rafound1 = Columns(1).Find("Erledigt", Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)

Anzeige
AW: VBA: Suche erweitern
08.07.2017 15:56:51
Werner
Hallo Darren,
versuch mal
.Find(what:=begriff(A), LookIn:=xlValues, LookAt:=xlPart, SearchDirection:=xlNext _
, MatchCase:=False)

Gruß Werner
AW: VBA: Suche erweitern
08.07.2017 16:11:57
Darren
Hallo Werner,
aber das sucht nicht alle Begriffe in einer Zeile gleichzeitig, oder?
Ich muss nach dem Namen (A) suchen, der sichmals vorkommen kann und dann müssen Str,(B), Stadt(C) und Land (D) von diesem Namen passen. Sonst nimmt er mir z.B. den ersten Darren der vorkommt und wo Str nicht passt - und dann denke ich mir, den kompletten Datensatz gibt es nicht, was falsch wäre, aber er kommt weiter unten vor.
Wenn Begriff A, B, C, D gefunden in einer Zeile (in Blatt B mit über 300 Tsd Zeilen zu durchsuchen) dann erhalte ich mit set die Position und kopiere den Code usw.
Gruß
Darren
Anzeige
AW: VBA: Suche erweitern
08.07.2017 21:01:01
Werner
Hallo Darren,
also damit kann jetzt niemand was anfangen.
Am Anfang war ich der Meinung, du suchst nur eine Erweiterung/Ergänzung eines bestehenden Codes einen Suchbegriff als Teil zu suchen/finden.
Jetzt würde ich Mal vermuten, dass du codetechnisch noch wenig bis gar nichts hast.
Aufgrund deiner vagen Beschreibung würde ich jetzt mal vermuten, dass du Datensätze aus einer Art Adessdatenbank nach Name, Adresse, Land herausfiltern/suchen willst.
Beschreib doch mal genau was das Makro machen soll. Dann eine Beispielmappe mit ein paar Spieldaten hochladen, dann schau ich mal ob ich dir helfen kann.
Im Moment hört sich das so an, als ob sich das mit einem Makro und dem Autofilter regeln ließe.
Gruß Werner
Anzeige
AW: VBA: Suche erweitern
09.07.2017 09:05:28
Darren
Hallo Werner,
ich erstelle keine Makros und versuche es selber zu programmieren.
Hier die Datei:
https://www.herber.de/bbs/user/114758.xlsx
Anhand einer Liste/Blatt A wird danach eine Liste/blatt B durchsucht und verglichen, ob die Zeile in Liste A (4 Spalten A(name),B(Str.), C(Stadt), D(Land) genau oder fast genau dort vorkommt - somit kein Filter möglich bei der 6 stellg Zahl an Daten.
Mit der Funktion Find(BegriffeA) habe ich bisher nur nach einem Begriff A "Name" suchen können.
Meine Frage ist, wie ich nicht nur nach einem Find A suchen kann, sondern gleichzeitig B,C,D auch wie z.B. Find([BegriffA, BegriffB, BegriffC, BegriffD)? Kann man sowas mit Find?
Mit Find(BegriffA...) findet er den ersten Namen z.B. Darren, aber es können noch weitere Darren geben und damit muss er noch B, C und D einbeziehen, damit ich den richtigen Darren mit der gleichen Str, Stadt, Land finden kann.
Dabei soll es egal sein, ob die Inhalte klein oder groß geschrieben werden.
Spalten [Name A], [Str B], [Stadt C], [Land D]:
in Blatt A:: Darren, Musterstr 44, Hamburg, Germany
...
in Blatt B über 10mal Darren zu finden:
Zeile 555 Darren, Musterstr 11, Kassel, Germany (Ergebnis ist nicht richtig)
Zeile 567 Darren, MUSTERSTR 44, Hamburg, Germany (richtiges Ergebnis, wenn Find alle 4 Begriffe berücksichtigt)
Grüße
Darren
Anzeige
AW: VBA: Suche erweitern
09.07.2017 11:45:46
Werner
Hallo Darren,
ich hab jetzt mal eine Suche drin mit dem Autofilter. Test das mal durch, ob es so deinen Vorstellungen entspricht.
In deinen Testdaten hast du einige Firmen mehrfach drin, unterschiedliche schreibweise des Firmennamens, gleiche Straße, gleiche Stadt, gleiches Land.
Welche Daten sollen dann ins Blatt A übernommen werden?
Zudem hast du in Spalte H eine Code Nummer drin. Die ist aber in diesen Fällen (Mehrfachtreffer) unterschiedlich, obwohl es sich wohl um ein und dieselbe Firma handelt. Das kann doch eigentlich nicht sein.
Zu der Frage mit der Formel kann ich nichts sagen, bei mir ist da keine Formel drin, bzw. nur =WENNFEHLER( und das wars.
Ich habe jetzt nur die Suche über den Autofilter drin und noch nicht mehr.
https://www.herber.de/bbs/user/114779.xlsm
Gruß Werner
Anzeige
AW: VBA: Suche erweitern
09.07.2017 15:39:01
Darren
Genau so ist es. Es gibt sehr ähnliche Zeilen, die unterschiedlich und mehrfach vorkommen: Ich muss den richtigen Datensatz treffen, der die für Spalten/Angaben entspricht.
Kein Filter, wie ich schon sagte. Ich muss zwei Dateien vergleichen die mage groß sind.
Darren
AW: VBA: Suche erweitern
10.07.2017 22:18:37
Darren
Werner, Dein Code ist ja mit Password geschützt.
AW: VBA: Suche erweitern
11.07.2017 06:20:07
Werner
Hallo Darren,
nein, nicht dass ich wüsste.
Allerdings kann ich hier im Moment die hochgeladene Datei nicht runterladen und an meine Originaldatei auf dem heimischen Rechner komme ich im Moment auch nicht ran.
Meine Fragen hast du immer noch nicht beantwortet.
Was willst du eigentlich mit dem Makro erreichen?
-Bitte nicht wieder die Daten von Blatt A mit denen in Blatt B vergleichen.
Was soll passieren wenn dabei der richtige Datensatz gefunden wurde?
In der Beispieldatei hast du im Blatt B Datensätze die mehrfach vorkommen. Schreibweise der Firma unterschiedlich aber Straße, Stadt und Land gleich.
Ist das in deiner Arbeitsdatei auch so?
Wenn ja, dann würde mich interessieren wie du dann den richtigen Datensatz ermitteln willst. Egal mit welcher Such-/Vergleichsmethode wirst du als Ergebnis immer Mehrfachtreffer haben.
Gruß Werner
Anzeige
AW: VBA: Suche erweitern
11.07.2017 06:36:37
Darren
Erreichen möchte ich, dass ich einen Code dann in der Datei A - zu den gleichen Datensatz - übergebe/eintrage.
Meine Frage mal anders gestellt:
Wie würdest Du nach Daten vergleichen/suchen, wenn Du nach 4 Kriterien - die übereinstimmen müssen - in einer Zeile suchen musst? Nur ein Kriterium muss etwas flexibel sein, wie z.B. das Straßen-Kriterium, da diese mal anders eingetragen wurden, wie z.B. (123 Str Mustermann / Mustermann Str. 123)
Zu Deiner Frage:
Suche die 4 Kriterien, wenn gefunden, dann Code speichern dieser Zeile und in A übergeben zu den gleichen Datensatz.
Manuel machen ist nicht möglich, da die Dateien Mega groß sind.
Gruß
Darren
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige