Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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

range.find: Geht nicht

range.find: Geht nicht
24.05.2015 00:15:04
Werner
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lookin:= xlFormulas o.T.
24.05.2015 01:23:45
Gerd
Gruß Gerd

AW: Lookin:= xlFormulas o.T.
24.05.2015 08:18:11
Werner
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

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

AW: Lookin:= xlFormulas o.T.
24.05.2015 10:44:22
Werner
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

Anzeige
AW: Lookin:= xlFormulas o.T.
24.05.2015 16:55:47
Luschi
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

Anzeige
AW: Lookin:= xlFormulas o.T.
24.05.2015 17:07:49
Daniel
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige