Datum vergleichen geht nicht
 |
Betrifft: Datum vergleichen geht nicht
von: Barbara
Geschrieben am: 16.09.2004 20:02:47
Folgendes Problem:
Mit Folgendem würde ich gerne in der Zeile 3 die Zelle finden, die den Wert von Geburtstag (05.07.91) hat.
Set ZelleDatum = Range("3:3").Find(Geburtstag)
Doch diese Zelle wird nicht gefunden, obwohl in E3 auch "05.07.91" steht.
Ich vermute nun, dass ich mit einem Textstring ("05.07.91") ein formatiertes Datum nicht finden kann? Nur, wie suche ich denn dann?
Diesen Textstring habe ich aus einer anderen Datumszelle rausgelesen.
Muss ich da was umwandeln, um es vergleichbar zu machen?
Nebenfrage: Wie finde ich auf dieser grossartigen Seite andere Postings zu diesem Thema. Gibt es da wo eine Suchfunktion? Hab nix gefunden.
Danke, LG, Barbara.
Betrifft: Versuchs mal mit Home-> Excel Recherche
von: RAnton
Geschrieben am: 16.09.2004 20:07:54
Gruß
Anton
Betrifft: AW: Datum vergleichen geht nicht
von: PeterW
Geschrieben am: 16.09.2004 20:20:47
Hallo Barbara,
was ist denn bei dir Geburtstag? VBA "versteht" nur englisch! Folgendes klappt problemlos:
Sub Bereich()
Dim ZelleDatum As Range
Dim Geburtstag As Date
Geburtstag = #7/5/1991# 'Datum im englischen Format!!
Set ZelleDatum = Range("3:3").Find(Geburtstag)
MsgBox ZelleDatum.Column
End Sub
Gruß
Peter
Betrifft: AW: Datum vergleichen geht nicht
von: Barbara
Geschrieben am: 16.09.2004 20:40:44
Hallo Peter,
danke für Deine Hilfe, aber den Geburtstag kann ich nicht eingeben, den holt sich das Makro aus einer anderen Zelle, in dem das Datum steht.
Da steht eben schon vorher:
Geburtsgag = Worksheets("Liste").Cells(6, 3)
Und daher hat diese Variable das Datum. Und dieses lässt sich nicht mit anderen Datumszellen vergleichen.
Betrifft: AW: Datum vergleichen geht nicht
von: PeterW
Geschrieben am: 16.09.2004 20:46:55
Hallo Barbara,
wenn das Datum aus einer Zelle eingelesen wird geht das auch (GeburtsGAG dürfte eher ein Tippfehler hier im Forum sein). Der Ansatz wurde getestet und funktioniert. Vielleicht hilft eine Beispielmappe von dir weiter.
Gruß
Peter
Betrifft: AW: Datum vergleichen geht nicht
von: Bert
Geschrieben am: 16.09.2004 20:46:56
In welcher Form steht das datum in der Zelle, als Zahl oder Text?
Bert
Betrifft: AW: Datum vergleichen geht nicht
von: Barbara
Geschrieben am: 16.09.2004 21:10:40
Also nochmals genauer:
In den Zelle C6 und B3 steht das Datum 03.01.1971 im Datumsformat.
Jetzt gebe ich der Variablen q das Datum, um ganz sicher zu gehen.
Und dann suche ich q in der dritten Zeile, wo es aber drinnen steht (in B3 eben).
q = Cells(6, 3)
Set ZelleDatum = Range("3:3").Find(q)
Trotzdem ist Zelledatum "Nothing", das heisst der Suchvorgang ging ins Leere.
Betrifft: AW: Datum vergleichen geht nicht
von: Matthias G
Geschrieben am: 16.09.2004 21:16:45
Hallo Barbara,
also mit Typdeklarationen geht es:
Sub test()
Dim q As Date
Dim ZelleDatum
q = Cells(6, 3)
Set ZelleDatum = Range("3:3").Find(q)
MsgBox ZelleDatum.Address
End Sub
Gruß Matthias
Betrifft: AW: Datum vergleichen geht nicht
von: Barbara
Geschrieben am: 16.09.2004 21:32:47
Hallo Matthias
bei mir geht es nicht. Ich hab Dein Programm rüberkopiert, ZelleDatum ergibt "Nothing" und in Folge gibt es bei Msgbox eine Fehlermeldung.
LG, barbara
Betrifft: AW: Datum vergleichen geht nicht
von: Bert
Geschrieben am: 16.09.2004 21:47:56
Die Version ist halt nicht ohne Relevanz! In E 97 hatte find so seine Schwierigkeiten mit Datumwerten. Ich weiß nicht mehr genau, aber man musste da Lookin:=xlValues
angeben(kann aber auch genau anders gewesen sein: Lookin:=xlFormulas).
Probier das mal aus, bei dir ist ja Lookin:= gar nicht angegeben.
Bert
Betrifft: AW: Datum vergleichen geht nicht
von: Barbara
Geschrieben am: 17.09.2004 00:14:54
Habe die Lösung selbst gefunden.
Es geht mit CDate. Dies wandelt das Datum richtig um, sodaß es in die Find-Funktion eingesetzt werden kann.
Set ZelleDatum = Range("E3:F3").Find(CDate(q))
Bin durch Zufall draufgekommen.
Beiträge aus den Excel-Beispielen zum Thema "Datum vergleichen geht nicht"