Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum richtig verwenden, aber wie?

Datum richtig verwenden, aber wie?
03.03.2014 08:19:18
TommiH
Moin,
und noch ein Problem habe ich gerade entdeckt. Wie verwendet man das Datum richtig? Oder andersrum, warum ergbit Folgendes einen Fehler?
Ich definiere:
DIM XDate AS Date
später setze ich
XDate = CDate(Format(CStr(Tag), "00") & "." & Format(CStr(Monat), "00") & "." & AktJahr)
Wobei Tag (31) und Monat (12) jeweils Integer-Variablen sind. AktJahr ist eine TextVariabel mit inhalt "2014"
So, wenn ich zu der Zeile komme, dann kommt - Typen unverträglich, kann mir da jemand erklären warum?
LG,
Tommi

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum richtig verwenden, aber wie?
03.03.2014 08:28:43
Hajo_Zi
die Zeile ist korrekt obwohl Format nicht notwendig ist.

AW: Datum richtig verwenden, aber wie?
03.03.2014 08:36:10
TommiH
Hmm,
dann frage ich mich was das ist. Sollten Datumsangaben in der Form.
1.1.2014 oder 1.1.14 oder 01.01.14 oder 01.01.2014 - immer das selbe ergeben und immer richtig sein?
Oder wäre Excel 1.Januar,2014 lieber?
Ich dachte wenn ich mit Zahlen agiere (einfach Tag=Integer und Monat=Integer) und die mit Cstr in Text umwandle und dann CDate darauf loslasse, sollte mit Datums/Dati? vernünftig zu arbeiten sein.
Das mit dem Format habe ich nur dazugebaut, weil die Fehlermeldung kam.
Eigentlich steht da
XDate = Cdate(CStr(Tag) & "." & Cstr(Monat) & "." AktJahr)
Und da kommt die Fehlermeldung.
Interessant, wenn ich AktJahr umsetze, nicht "2014", sondern "14" dann klappt es und Excel wirft keine Fehlermeldung aus ?!?
Dafür kommt an einer anderen Stelle wo ich das AktJahr einsetze nun eine Fehlermeldung :(
Ist 14 besser als 2014?!?
Nun bin ich etwas verwirrt :(
LG,
Tommi

Anzeige
AW: Datum richtig verwenden, aber wie?
03.03.2014 08:37:17
TommiH
Ups MIT & vot dem AktJahr natürlich im Zuordnungsstring...

AW: Datum richtig verwenden, aber wie?
03.03.2014 08:40:26
Hajo_Zi
Hallo Tommi,
ja das ist für Excel immer 41640
Cstr ist auch nicht notwendig.
es reicht XDate = CDate(Tag & "." & Monat & "." & AktJahr)
Das ist der Vorteil, bei nur teilweisen Code der Nachbau sieht bestimmt anders aus als das Original.
Gruß Hajo

AW: Datum richtig verwenden, aber wie?
03.03.2014 08:50:50
TommiH
Hm, ich werde immer verwirrter, kann es sein, das Excel XDate als Uhrzeit interpretiert und deshalb mit der 2014 nicht klar kommt?
Irgendwie ist nach der Definition (DIM) XDate = "00:00:00" - das sieht doch sehr wie eine Uhrzeit und nicht wie ein Datum aus...
Und in der Hilfe finde ich, das der Typ DATE sowohl Datum als auch Uhrzeit darstellen kann ?!?
Aber wieso lief das Makro seit rund einem Jahr sauber und erst heute treten Fehler auf, komisch.
Wie sage ich Excel, das es ein (NUR) Datum sein soll?
Tommi

Anzeige
AW: Datum richtig verwenden, aber wie?
03.03.2014 08:56:55
TommiH
Ohje und wenn ich XDate = Date schreibe, dann steht in XDate nicht "3.3.2014" sondern "Mo,03.3.2014"...
? - muss ich da nun noch irgendwo den Tag mit angeben, damit das Format passt?
Und/Oder ist das irgendwo in den Einstellungen von Excel eine Grundeinstellung, wie mit Datumsangaben verfahren werden soll?
Tommi

AW: Datum richtig verwenden, aber wie?
03.03.2014 09:00:58
Hajo_Zi
wie schon geschrieben der mein kompletter Code ist korrekt und liefert 31.12.2014.
Gruß Hajo

AW: Datum richtig verwenden, aber wie?
03.03.2014 09:35:29
Rudi
Hallo,
das ist falsch:
Format(CStr(Tag), "00")
du machst erst einen String aus der Zahl und versuchst dann ein Zahlenformat zuzuweisen.
Ich würde mit dateSerial arbeiten.
xdate=dateserial(jahr,monat,tag)
Gruß
Rudi

Anzeige
AW: Datum richtig verwenden, aber wie?
03.03.2014 09:47:49
TommiH
Hallo Rudi,
oh, das kannte ich noch gar nicht - klappt aber im Test gut - ich denke ich überarbeite mal mein gesamtes Makro, damit kann man ja super mit den Zahlenwerten arbeiten...
Mal schauen ob das einwandfrei läuft.
Oh, und wenn die Werte für Monat oder so aus dem Ruder laufen, dann setzt er die automatisch um? Also wenn man als Monat 13 eingibt, dann ist es der Januar des darauffolgenden Jahres - auch praktisch (wenn man es weiss und berücksichtigt ;) )
LG,
Tommi

AW: Datum richtig verwenden, aber wie?
03.03.2014 10:42:12
TommiH
Hm,
und nun doch noch ein Problem, wenn ich mit isdate() prüfe und z.B. isdate("00.01.2014") teste, dann ist der Ausdruck WAHR? - obwohl es das Datum eigentlich nicht gibt?
Wie prüft man, ob die eingelesenen Daten korrekt und möglich sind? Ich lese aus einer TextDatei Zahlenwerte ein, nur kann da manchmal auch (fälschlicherweise) ein blank oder ein zu hoher Zahlenwert stehen.
Wie prüft man ob der Tageswert stimmt? Immerhin sind bei Monaten ja manchmal 1-28, 1-30 oder 1-31 erlaubt...
Tommi

Anzeige
AW: Datum richtig verwenden, aber wie?
03.03.2014 11:05:54
Matthias
Hallo
und nun doch noch ein Problem, wenn ich mit isdate() prüfe und z.B. isdate("00.01.2014") teste, dann ist der Ausdruck WAHR?
Bei mir kommt Falsch
Wie prüfst Du das denn genau
Test das mal:
Option Explicit
Sub tommi()
Dim TextDatum$
TextDatum = "00.01.2014"
MsgBox IsDate(TextDatum)
End Sub
Gruß Matthias

AW: Datum richtig verwenden, aber wie?
03.03.2014 11:12:38
TommiH
?
Hm, also ich prüfe es mit der selbst angelegten Boolean-Var check
check = isdate (cdate("00.01.2014"))
Wenn ich einfach isdate("00.01.2014")
eingebe dann ist das falsch, aber ebenso ist damit falsch isdate("01.01.2014") oder istdate(04.04.2014")
Irgendwie funktioniert der Abgleich nicht, oder muss man das Format beachten? (MM.TT.JJ) oder (TT.MM.JJ) oder (TT.MM.JJJJ)...
Tommi

Anzeige
IsDate("01.01.2014") = Wahr
03.03.2014 11:31:47
Matthias
Hallo
aber ebenso ist damit falsch isdate("01.01.2014") oder istdate(04.04.2014")
Nein, das ergibt Wahr
Falsch ergibt der "29.02.2014", da das ein ungültiges Datum ist.
Gruß Matthias

AW: IsDate("01.01.2014") = Wahr
03.03.2014 11:36:51
TommiH
Das ist ja das, was ich nicht verstee, bei mir ergibt das falsch :(
Die Frage ist, woran es liegen könnte...
LG,
Tommi

hab keine Ahnung ...
03.03.2014 11:44:48
Matthias
Hallo
Tut mir leid, da weiß ich nicht was bei Dir falsch läuft.
Prüf mal noch ob irgendwo Leerzeichen im DatenString versteckt sind
Mehr kann ich jetzt nicht für Dich tun.
Viel Glück noch
Gruß Matthias

Anzeige
...oder alternative Berechnung ist eingestellt,...
03.03.2014 11:52:22
Luc:-?
…oder, oder…
Viel Erfolg!
Gruß Luc :-?

AW: Datum richtig verwenden, aber wie?
03.03.2014 12:33:18
Tino
Hallo,
ich würde es so schreiben.
Wobei Tag (31) und Monat (12) jeweils Integer-Variablen sind. AktJahr ist eine TextVariabel mit inhalt "2014"
XDate = DateSerial(CInt(AktJahr), Monat, Tag)
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige