PDA

Vollständige Version anzeigen : VBA .find "findet" falsche Einträge


bounce
18.07.2012, 22:41
Hallo,
ich brauche eure Hilfe.

Der Sachverhalt:

Blatt 1 hat 10 Datumsangaben
in Blatt 2 werden diese Datumsangaben gesucht (per Schleife) und nebenstehende Daten in Blatt 1 kopiert.

Diese Datumsangaben sollen gesucht werden:
05.01.2006 - 03.01.2007 - 10.01.2008 - 05.01.2009 - 04.01.2010 - 04.01.2011 - 05.01.2012

Datum 1+2 werden gefunden, bei Datum 3 bis 6 wird jeweils anstelle von den Datumsangaben im Januar (01) die im November (11) "gefunden", dh. statt 10.01.2008 wird 10.11.2008 angezeigt. Das letzte Datum wird wieder richtig gefunden.

Was hat VBA für ein Problem? Wenn ich manuell nach den Datumsangaben suche, werden mir die richtigen angezeigt. Ich gebe mir die Variable mit dem gesuchten Datum auch im Direktfenster aus, da werden die gleichen Fehler angezeigt...richtiges Datum aufgenommen, falsches Datum gefunden.

Hatte jemand ähnliche Probleme? Wie kann ich den Fehler umgehen? Gibt es noch eine zweite Suche?

Hier meine Suche:

Set suche = Cells.Find(What:=Datum, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If suche Is Nothing Then
Debug.Print ("nichts gefunden")
Else
suche.Select


Vielen Dank, besten Gruß, Matthias

Hajo_Zi
19.07.2012, 05:14
Hallo Matthias,

Suche mit kompletten Vergleich
Selection.Find(What:="45", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, _ SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Activate
Der einzigste Fehler lag bei LookAt:=xlPart, dies muss LookAt:=xlWhole heißen !

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm" onclick="window.open(this.href);return false"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

bounce
19.07.2012, 08:13
Vielen lieben Dank für die schnelle Hilfe, das hat funktioniert!