"M.Saltheim" <marios...@gmx.de> schrieb im Newsbeitrag
news:#G9mb#IkAHA.2164@tkmsftngp05...
> Hallo, vielleicht findet sich ja jemand, der mir hilft?
schon möglich ;-)
> Diese Zeilen stammen aus einem Makro, das das aktuelle Datum sucht:
>
> Columns(2).Select
> On Error Resume Next
>
> Selection.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas, _
> LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
> MatchCase:=False).Activate
> ActiveCell.Offset(0, 2).Select
>
> ,aber es funktioniert nicht, weil die Datumsangaben in der Spalte durch
> eine
> Formel flexibel gehalten werden.
Das macht nichts. Deshalb gibt es ja den Parameter "xlValues", den Du auch
benutzen mußt.
> Auch wenn ich den SuchBereich
> "LookIn:=xlValues" eingebe geht es nicht.
Doch, aber das Problem ist nicht LookIn, sondern das Datum selbst. Bei Find
scheint VBA besonders an der inkonsequenten Nationalisierung zu kranken. Um
nach einem Datum zu suchen, mußt Du eine String-Variable (oder Konstante)
benutzen, die so aufgebaut ist: "m/d/yy"
Für Dein Problem gilt folgende Lösung:
Selection.Find(What:=Format(Date, "m\/d\/yy", After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
> Ich weiss hier nicht weiter
Ich hoffe, das hilft Dir
mfg
Jörg Nissen
M.Saltheim <marios...@gmx.de> schrieb in im Newsbeitrag: ...
> Hallo, vielleicht findet sich ja jemand, der mir hilft?
>
> Diese Zeilen stammen aus einem Makro, das das aktuelle Datum sucht:
>
> Columns(2).Select
> On Error Resume Next
>
> Selection.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas, _
> LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
> MatchCase:=False).Activate
> ActiveCell.Offset(0, 2).Select
>
> ,aber es funktioniert nicht, weil die Datumsangaben in der Spalte durch
eine
> Formel flexibel gehalten werden. Auch wenn ich den SuchBereich
> "LookIn:=xlValues" eingebe geht es nicht. Ich weiss hier nicht weiter
>
> mfg Mario
>
>
Du hast sogar Antworten auf diesen Beitrag erhalten.
mfg
Jörg Nissen
Also Danke nochmals
Mario
Jörg Nissen <joerg....@t-online.de> schrieb in im Newsbeitrag:
95tl9g$84u$00$1...@news.t-online.com...
Jörg Nissen wrote:
> ....Um nach einem Datum zu suchen, mußt Du eine String-Variable (oder
> Konstante)
> benutzen, die so aufgebaut ist: "m/d/yy"
>
> Für Dein Problem gilt folgende Lösung:
>
> Selection.Find(What:=Format(Date, "m\/d\/yy", After:=ActiveCell, _
> LookIn:=xlValues, _
> LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
> MatchCase:=False).Activate
Hallo Jörg , hallo Mario,
Bei mir klappt das mit der Stringformatierung auch nur manchmal richtig. Excel
pfuscht da zuviel mit der automatischen Eingabeerkennung rum.
ich hab deshalb gleich die zu durchsuchende Spalte als Standart formatiert und
such dann mit folgendem Code:
Range("A:A").Find(CDbl(Date) - 1462, LookIn:=xlValues).Select
Die -1462 sind deshalb weil ich meine Tabellen mit 1904 Datum eingestellt
habe.
Die Spalte A darf weder ausgeblendet sein , noch so schmal, das die Werte
darin nicht angezeigt werden.
Man kann aber die Schriftgöße auf 1 und Schriftfarbe auf weiß einstellen,
dann ist nix mehr zu sehen.
Gruß Reiner