Hi liebes Forum!
Muss man bei Range.find - etwas spezielles beachten? - Arbeitet die Methode bei einer bestimmten Zeilenanzahl nicht mehr richtig?
Weil...
Ich habe folgenden Code:
Meine Absicht ist es, nach 7-stelligen Zahlen zu suchen...
Wenn die Zahl NICHT vorkommt, bzw. NICHT GEFUNDEN wird, dann soll diese Zahl in Tabelle16.Cells(d, 11) geschrieben werden...
So....
nun ist es für mich leider unverständlich, warum das nicht bei allen Fällen funktioniert. - Denn, um nur ein Beispiel zu nennen....
Wenn in dem Suchbereich Tabelle16.Range(Tabelle16.Cells(1, 4), Tabelle16.Cells(c, 4)) beispielsweise der Wert: "1004288" vorkommt... und ich suche danach, dann bekommt Excel, beim Abarbeiten trotzdem den Wert, "Nothing" obwohl, die Zahl eigentlich im Suchbereich vorkommt! und das passiert nicht nur bei dieser Zahl, sondern bei vielen vielen weiteren auch.... was nicht sein dürfte...
Der Suchbereich umfasst mehr als 22000 Zeileneinträge... Nun stellt sich mir die Frage, ob dieses Fehlverhalten, eventuell, darauf zurückzuführen ist...??
Weiß vl. jemand von euch, woran das liegen könnte??
und... ich habe es auch nur mit:
probiert... das geht auch nicht, deshalb dachte ich, wenn ich die parameter noch spezifiziere... deshalb habe ich bei lookin auch xlValues gewählt, da ja anscheinend als default-wert xlFormular verwendet wird...
aber so oder so, haut es leider nicht hin...
ansonsten, wäre ich auch für eine alternative Methode, anstatt der Find-Methode offen.... ich kenne jz aber nur "Find" in dem Sinne...
VG Tim
Muss man bei Range.find - etwas spezielles beachten? - Arbeitet die Methode bei einer bestimmten Zeilenanzahl nicht mehr richtig?
Weil...
Ich habe folgenden Code:
Visual Basic-Quellcode
- Dim a As Long
- Dim b As Long
- Dim c As Long
- Dim d As Long
- Dim equinr_tab22 As Long
- Dim rng As Range
- Dim zähle1 As Long
- Dim zähle2 As Long
- Dim posit As Long
- Dim kz As Boolean
- Tabelle16.Range("K2:K1048576").ClearContents
- b = Tabelle22.Cells(Rows.Count, 15).End(xlUp).Row
- c = Tabelle16.Cells(Rows.Count, 4).End(xlUp).Row
- kz = False
- d = 2
- For a = 2 To b
- equinr_tab22 = Tabelle22.Cells(a, 15)
- Set rng = Tabelle16.Range(Tabelle16.Cells(1, 4), Tabelle16.Cells(c, 4)).Find(equinr_tab22, Tabelle16.Cells(1, 4), xlValues)
- If rng Is Nothing Then
- kz = True
- Tabelle16.Cells(d, 11).Value = equinr_tab22
- zähle1 = zähle1 + 1
- d = d + 1
- Else
- zähle2 = zähle2 + 1
- End If
- Next
Meine Absicht ist es, nach 7-stelligen Zahlen zu suchen...
Wenn die Zahl NICHT vorkommt, bzw. NICHT GEFUNDEN wird, dann soll diese Zahl in Tabelle16.Cells(d, 11) geschrieben werden...
So....
nun ist es für mich leider unverständlich, warum das nicht bei allen Fällen funktioniert. - Denn, um nur ein Beispiel zu nennen....
Wenn in dem Suchbereich Tabelle16.Range(Tabelle16.Cells(1, 4), Tabelle16.Cells(c, 4)) beispielsweise der Wert: "1004288" vorkommt... und ich suche danach, dann bekommt Excel, beim Abarbeiten trotzdem den Wert, "Nothing" obwohl, die Zahl eigentlich im Suchbereich vorkommt! und das passiert nicht nur bei dieser Zahl, sondern bei vielen vielen weiteren auch.... was nicht sein dürfte...
Der Suchbereich umfasst mehr als 22000 Zeileneinträge... Nun stellt sich mir die Frage, ob dieses Fehlverhalten, eventuell, darauf zurückzuführen ist...??
Weiß vl. jemand von euch, woran das liegen könnte??
und... ich habe es auch nur mit:
probiert... das geht auch nicht, deshalb dachte ich, wenn ich die parameter noch spezifiziere... deshalb habe ich bei lookin auch xlValues gewählt, da ja anscheinend als default-wert xlFormular verwendet wird...
aber so oder so, haut es leider nicht hin...
ansonsten, wäre ich auch für eine alternative Methode, anstatt der Find-Methode offen.... ich kenne jz aber nur "Find" in dem Sinne...
VG Tim