Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhaltsvergleich / Probl. mit month() , year()

Zellinhaltsvergleich / Probl. mit month() , year()
09.10.2003 16:29:48
Jeremy
Hallo Forum,

ich habe hier ein Problem, dass mir echt Kopfzerbrechen verursacht:

In meinem Quellcode habe ich irgendwann diese Msgbox zur Überprüfung eingebaut:

MsgBox "Aus den beiden Zellinhalten: " & Cells(6, 10) & " und " & Cells(35, 15) & "folgt dieser Vergleich: If " & Month(Cells(6, 10)) & " = " & Month(Cells(35, 15)) & " und " & Year(Cells(6, 10)) & " = " & Year(Cells(35, 15))

... und das ist das Resultat:

Aus den beiden Zellinhalten: 20.01.2004 und Jan.04
folgt der Vergleich: If 1 = 1 und 2004 = 2003

Wie kann es sein, dass Excel nicht die Jahreszahl richtig erkennt?!
Oder besser:
Welchen Fehler sehe ich Blindfisch in meinem Code nicht?

Danke,
Jeremy

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhaltsvergleich / Probl. mit month() , year()
09.10.2003 16:55:49
Jörg Gradert
Hallo Jeremy,
in Zelle O35 =Cells(35,15)musst Du Jan.04 eingeben, oder ein Januardatum in 2004.
Format Zellen benutzerdefiniert MMM.JJ

Aus ="Jan.04" (ist Text) kann Excel keine Jahreszahl erkennen.
Warum dann 2003 angenommen wird, kann ich nicht erklären.

Richtig ist es, wenn der Wert rechtsbündig in der Zelle steht.

Deine MsgBox ist OK.

Gruss Jörg
AW: Zellinhaltsvergleich / Probl. mit month() , year()
09.10.2003 16:59:53
Jeremy
Hey Jörg,

aber warum erkennt er dann den Monat richtig?
Ich habe auch noch andere Datumswertde durchlaufen z.B.: bei
Mrz.03 und 23.03.2003
da klappt alles einwandfrei?!

Ich kapier einfach nicht, wie ich das beseitigen kann

...Jeremy... (sehr verwirrt...)
Anzeige
OFFEN: Probl. mit month() , year()
09.10.2003 18:31:17
Jörg Gradert
Hallo Jeremy,
mit Jan.04 als Text in Zelle O35

in VBA
= Year(Cells(35, 15)) gibt immer 2003 zurück.
mit Jan.2004 funktioniert es

als Formel
=Jahr(O35)ergibt 2004

Verstehen tue ich es noch nicht

Gruss Jörg
Lösung: Probl. mit month() , year()?
09.10.2003 21:27:49
Jörg Gradert
Hallo Jeremy,
in Zelle O35:
Formatiere die Zelle auf Benutzerdefiniert MMM.JJ und gebe anschliessend Jan.04 ein.

Wenn Die Zelle vorher auf Text formatiert ist und Du dann Jan.04 eingibst funktioniert es nicht korrekt.

Erklären kann ich es immer noch nicht.

Gruss Jörg
AW: Lösung: Probl. mit month() , year()?
09.10.2003 21:43:02
PeterW
Hallo Jörg,

hab das vorhin auch mal versucht (in XP) nachzuvollziehen. Da gibt es keine Probleme. Eingabe in A1 "Jan.03" (ohne Anführungszeichen) wird als 1.1.2003 in der Bearbeitungszeile erkannt und sowohl die Formeln als auch VBA arbeiten korrekt.

Die Datei https://www.herber.de/bbs/user/1369.xls wurde aus Datenschutzgründen gelöscht


Gruß
Peter

Anzeige
AW: Lösung: Probl. mit month() , year()?
09.10.2003 22:29:00
Jörg Gradert
Hallo Peter,
Es funktioniert bei 9.0 2000 ebenso richtig, wenn die Zelle Standard formatiert ist.
So wie Jeremy das Problem beschreibt, kann ich mir nur folgenden Sachverhalt vorstellen.
Am Beispiel deiner Tabelle:
A1 wird als Text formatiert (ist noch Standard). Dann wird Jan.07 eingegeben.
Ergebnis:

Jan.07 2007 2003
1 1
1 7

Gruss Jörg
Hier die Datei
09.10.2003 22:35:31
Jörg Gradert
Hallo Peter,

Die Datei https://www.herber.de/bbs/user/1370.xls wurde aus Datenschutzgründen gelöscht


Gruss Jörg
OFFEN: Lösung funktioniert bei mir nicht....
10.10.2003 07:50:39
Jeremy
Guten Morgen Jörg und an alle, die sich hier sonst noch probiert haben!
Danke!

Ich habe Deinen Tipp ausprobiert, die Tabelle erstellt, die Formatierung vorgenommen und hinterher die Werte eingetragen. Aber leider, es funktioniert dann immer noch nicht...

Merkwürdig ist allerdings:
Wenn ich anstatt mmm. yy oder mmm.yy
dd/mm/yy als Formatierung eingeben, dann funktioniert es einwandfrei!
ABER: eigentlich dürfte es nicht funktionieren, denn der Vergleich der in der MsgBox angezeigt wird lautet immernoch z.B.:
Aus 20.01.2004 und 03.01.04 folgt trotzdem noch
If 1 = 1 und 2004 = 1899?!
Da aber zwei identische Werte Bedingung für eine Schleife sind, dürften die Ausführungen innerhalb der Schleife doch gar nicht getätigt werden?!
Das werden sie aber doch?!

Ich bin ratlos...
Jeremy
Anzeige
OFFEN: Lösung funktioniert bei mir nicht....
10.10.2003 08:32:01
Jeremy
Ein weiterer Test, der Zeigt, dass irgendwas mit der Datumsformatierung nicht stimmt:
Cells(w, 10) wird von einem anderen Tabellenblatt mit der Formatierung "dd/mm/yy" geholt.
Ich habe die komplette Spalte hiermit umformatiert:
Cells(w, 10) = Format(Cells(w, 10), "mmm yy")

... und das ist das Resultat

15.08.2003 -> 03.08.03
03.10.2003 -> Okt 03
16.09.2003 -> 03.09.03
20.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
21.01.2004 -> 04.01.03
20.08.2003 -> 03.08.03

Spinnen denn jetzt ALLE DatumsFormatierungen?!

Jeremy
Anzeige
AW:Lösung funktioniert bei mir nicht....
10.10.2003 13:08:11
Jörg Gradert
Hallo Jeremy,
ich kann auf die Datei von PeterW nicht mehr zugreifen, Du vielleicht auch nicht.
Darum hier:

https://www.herber.de/bbs/user/1381.xls

Zeigt diese Tabelle bei dir korrekt an (SpalteB=SpalteC)?
Eingabe in Zelle A1.
Spalte B sind Formeln Spalte C sind Makros.
A1 Standard formatiert (dann hast Du nicht den "." hinter Jan), dieser wurde aber mit eingegeben.



Gruss Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige