Datum und Find
Hier erstmal eine Variante die ohne diesen Schritt auskommt
und die auch auf das Zellenformat nicht angewiesen ist.
Sie liefert auch gleich das Range-Objekt als Ergebnis mit dem
direkt weiter gearbeitet werden kann:
Sub tr_test()
Dim dblSearch As Double
Dim rngFind As Range
With ThisWorkbook.Worksheets(„Tabelle1“)
dblSearch = Day(Range(„Anfangsdatum“).Value) - 6
MsgBox ("Zu findende Zelle: " _
& .Range(„H1“).Value & vbCrLf _
& "Suchwert: " & dblSearch & vbCrLf _
& "Suchwert-Type: " & TypeName(dblSearch))
Set rngFind = .Range(„A1:AN1“).Find(dblSearch, _
LookIn:=xlValues, _
SearchDirection:=xlNext)
MsgBox rngFind.Address
End With
End Sub
Grüezie Thomas,
da geschieht doch der gleiche Fehler wie bei Jens.
Es wird immer G1 gefunden, egal ob in A7 der 1,8, der 1.9, … steht.
Kann doch irgendwie nicht sein daß man da nicht mit Find allein hinkommt sondern ggfs. mit Hilfszeile o.ä. oder match oder sonstwas rangehen muß.
Erich hat mir Links zu langen Beitragsfolgen in einem Forum zu Find und Datum gegeben, die muß ich erst noch alles sichten, viel Stoff 
Er war an den Diskussionen auch aktiv, hier mal ein Code von ihm, wie ersichtlich ging es da wohl um eine Anfrage die einen Tick anders ist als hier aber interessant ist das Ergebnis des Codes allemal.
Für interessierte Mitleser. So läuft der Code in XL 2007.
Für XL 2000 muß man den dreizeiligen Find-Befehl entfernen und den auskommentierten benutzen, denn XL 2000 kennt kein Searchformat.
In XL 2003 weiß ich das nicht, siejht man ja.
Option Explicit
Sub TestFind()
Dim rngF As Range, lngZ As Long
Columns(2).Clear
Cells(5, 2).Formula = "=1.11/2"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.0"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.00"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.000"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
Cells(5, 2).NumberFormat = "0.0000"
DoIt xlWhole, lngZ
DoIt xlPart, lngZ
End Sub
Sub DoIt(enuWhole As XlLookAt, zz As Long)
Dim rngF As Range
' Set rngF = Columns(2).Find(What:=Cells(5, 2).Value, After:=Cells(1, 2), LookIn:=xlValues, \_
' LookAt:=enuWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, \_
' MatchCase:=False)
Set rngF = Columns(2).Find(What:=Cells(5, 2).Value, After:=Cells(1, 2), LookIn:=xlValues, \_
LookAt:=enuWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, \_
MatchCase:=False, SearchFormat:=False)
zz = zz + 1
Cells(zz, 4) = "'" & Cells(5, 2).NumberFormat
Cells(zz, 5) = IIf(enuWhole = xlWhole, "xlWhole", "xlPart")
If rngF Is Nothing Then
Cells(zz, 6) = "Nein"
Else
Cells(zz, 6) = rngF.Address
End If
End Sub
Gruß
Reinhard