range.find: Geht nicht

Bild

Betrifft: range.find: Geht nicht
von: Werner Mauss
Geschrieben am: 24.05.2015 00:15:04

Hallo Zusammen,
ich versuche range.find auf einen Bereich anzuwenden, in dem keine Werte stehen sondern in denen Verweise auf andere Zellen aus anderen Blättern stehen (z.B. =sheet2!A1), deren Werte dann dort angezeigt werden.
Das funktioniert nicht, d.h. range.find liefert nothing (in Variable addr_src).
Trage ich stattdessen direkt Werte in den Bereich ein, dann funktioniert range.find wie erwartet.
Mein range.find Befehl lautet:
Dim t1 As Variant
t1 = ThisWorkbook.Worksheets(update_ini).Cells(i, 4)
Set addr_src = Workbooks(Filename).Worksheets("E050.5").Range("A1:A100").Find(what:=t1)
Da ich in den Suchbereich nicht direkt die Werte eintragen kann, kann ich das Problem irgendwie beheben?
Danke und Grüße
Werner

Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Gerd L
Geschrieben am: 24.05.2015 01:23:45
Gruß Gerd

Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Werner Mauss
Geschrieben am: 24.05.2015 08:18:11
Hallo Gerd,
danke für Deine schnelle Rückmeldung trotz der späten Stunde gestern.
Ich weiß zwar nicht was mit o.T. gemeint ist aber wenn ich die Zeile ändere in
Set addr_src = Workbooks(Filename).Worksheets("value_car").Range("A1:A100").Find(what:=t1, LookIn:=xlFormulas)
dann ändert sich nichts im Ergebnis, die Prüfung endet mit nothing.
Ich suche ja auch nicht den Inhalt von Formeln, sondern schon den (Zahlen) Wert einer Zelle. Allerdings enthält diese Zelle (im Suchbereich von .find) keinen direkten Wert sondern eine Formel die auf eine andere Zelle verweist, in der dann der Wert steht.
Grüße
Werner

Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Nepumuk
Geschrieben am: 24.05.2015 09:16:56
Hallo,
du willst ja keine Formel durchsuchen, sondern den Wert den die Formel ausspuckt. Also:
LookIn:=xlValues
Gruß
Nepumuk

Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Werner Mauss
Geschrieben am: 24.05.2015 10:44:22
Hallo Nepumuk,
tatsächlich, jetzt geht's.
Ich hatte vorher nur den Parameter für what angegeben da ich dachte dass xlValue der default Wert für LookIn ist.
Offenbar aber nicht denn jetzt, nachdem ich xlValue explizit angeben habe, findet .find die Zelle mit dem gesuchten Wert:
Set addr_src = Workbooks(Filename).Worksheets("value_car").Range("A1:A100").Find(what:=t1, LookIn:=xlValues)
Vielen Dank, damit hast Du mir sehr geholfen!
Viele Grüße
Thomas


Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Luschi
Geschrieben am: 24.05.2015 16:55:47
Hallo Thomas,
da der Vba-Befehl Range("...").Find(...) die letzten Einstellungen der Suchmaske des
Tabellenoberflächen-Suchbefehls (Strg + F) automatisch übernimmt, ist es sinnvoll/wichtig,
alle Parameter in der richtigen Reihenfolge aufzuführen.
Das erspart:
- die Benennung der Übergabeparameter
Aber oft werden auch der drittletzte und letzte Parameter nicht beachtet!
(Groß-Kleinschreibung bei Texten und Suchformateinsteloplungen z.B. Zellfarbe)
Deshalb sieht mein Vba-Suchbefehl grundsätzlich so aus:


Set addr_src = Workbooks(Filename).Worksheets("value_car").Range("A1:A100").Find(t1, _
    Workbooks(Filename).Worksheets("value_car").Range("A100"), xlValues, _
    xlWhole, xlWhole, xlByRows, xlNext, False, , False)
Syntax siehe: https://msdn.microsoft.com/de-de/library/office/ff839746.aspx
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Lookin:= xlFormulas o.T.
von: Daniel
Geschrieben am: 24.05.2015 17:07:49
Hi Luschi
richtig erkannt, aber falsche schlussfolgerung.
wichtig ist, dass man bei der Suche alle relevanten Parameter angibt, damit man unabhängig davon ist, mit welchen Einstellungen zuletzt gesucht wurde.
die Benennung der Übergabeparameter sollte man aber beibehalten (insbesondere Anfänger), weil dort Fehler schneller auffallen (eine falsche Benennung gibt sofort einen Fehlerabbruch, aber ein unbenannter Parameter an der falschen stelle führt nur zu fehlerhaften Ergebnissen, die man aber vielleicht gar nicht sofort bemerkt), und man beim späteren Nachlesen den besseren Überblick hat, welche Parameter man wie genau eingestellt hast.
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spaltensuche mit Inputbox"