334 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (2.9k Punkte)

Hallo,

ich habe in einem code die folgende Zeile

iRow = Columns(2).Find(arrZ(l), lookat:=xlPart, after:=Cells(77, 2)).Row 

Komischerweise kommt als Ergebnis iRow=3 heraus, obwohl ich ja mit after... bestimmt habe, dass erst nach Zeile 77 gesucht werden soll. Wie kann das denn sein?

Danke für jeden Tipp.

Gruß A.

5 Antworten

0 Punkte
Beantwortet von beverly_ Experte (1.4k Punkte)
Hi,

und was ist das Problem? Wenn dein Suchwert in Zeile 3 steht ist das doch völlig korrekt.

Bis später, Karin
0 Punkte
Beantwortet von
Hallo Karin,

der Suchwert steht in Zeile 78 und Zeile 3. Die Formel sollte eigentlich den in 78 finden.

Gruß A.
0 Punkte
Beantwortet von
Hallo,

ich, weiß nicht ob dir das weiterhilft, aber bei mir funktioniert deine Codezeile! Es wird der Wert in Zeile 78 gefunden. Außer, dort steht der Suchwert nicht, dann wird der Wert in Zeile 3 gefunden. Hast du mal geprüft ob, sich der Wert in Zeile 78 irgendwie von dem in Zeile 3 unterscheidet? Vielleicht wird er ja nicht gefunden. Kannst du ganz leicht mit der normalen Suchfunktion überprüfen.

Vielleicht ist aber auch dein Array ungünstig dimensioniert. Hast du z.B. mal geprüft ob die Werte darin mit führendem Leerzeichen enthalten sind? Nur so eine Idee. Wie hast du das Array also dimensioniert und wie den Wert zugewiesen?

Und falls die Frage gestattet ist, wie lautet denn der Suchwert? Ist es Text oder eine Zahl oder ein Datum?

Oder hast du versehentlich in der Suchmaske oder mit einem früheren Befehl die Einstellung Searchdirection auf xlPrevious gesetzt, sodass jetzt rückwärts gesucht wird?

Fragen über Fragen

Gruß Mr. K.
0 Punkte
Beantwortet von ahorn38 Experte (2.9k Punkte)

Hallo,

danke für die hilfreichen Tipps!!! Ich habe es letztlich hingekriegt durch den Zusatz von

LookIn:=xlValues

in der find-Funktion. Verstanden habe ich es nicht ganz, da es sich ja um strings handelt, aber es funktioniert.

Danke und Gruß A;

0 Punkte
Beantwortet von beverly_ Experte (1.4k Punkte)

Hi,

entweder: wenn bei dir in der Excel-Suchfunktion (Strg+F) "Suche in Formeln" eingestellt ist, dann geht dein ursprünglicher Code davon aus, dass eben in Formeln gesucht werden soll - durch deinen Zusatz xlValues wird diese Einstellung sozusagen auf "Suche in Werten" korrigiert

oder: deine Daten in Spalte C sind tatsächlich Formelergebnisse, dann sucht - ohne die Zusatzangabe xlValues - Excel automatisch in den Formeln nach dem Suchbegriff und nicht in den Werten der Formelergebnisse

Bis später, Karin

...