Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datumsformat

Forumthread: Datumsformat

Datumsformat
26.06.2015 15:07:50
Roland
Hallo
habe ein Problem mit einem Datumsformat.
Im Zuge eines Updates per VBA weise ich die aktualisierten Start- und Endtermine jeweils einer Variablen zu und weise die Werte der Variablen den entsprechenden Zellen in meiner Datei zu.
Allerdings geschieht es desoefteren, dass hierbei Monat und Tag vertauscht werden und ich somit einen falschen Termineintrag habe.
Die jeweiligen Start- und Endtermine sollen als als dd-mmm-yy (26-Jun-15) angezeigt werden. In der mir zugesendeten Datei sind diese ebenso formatiert.
Allerdings sind deren Zellen Benutzerformatiert als B1dd-mmm-yy
Ich habe keine Ahnung was das B1 bedeuten soll. Ein Zellbezug kann das nicht sein, da Zelle B1 eine Ueberschrift einer Spalte ist.
Auch wenn ich die Zelle vor zuweisen des Wertes aus der entsprechenden Variablen wie folgt formatiere
Range("H" & OldCnt).Value = Format(New_Start, "dd - mmm - yyyy")
Range("H" & OldCnt).Value = New_Start
aendert das nichts.
Nur wenn der Tag groesser als 12 ist, also die maximale Zahl der vorhandenen Monate im Jahr ueberschreitet dann wird das Datum richtig uebernommen.
Habe schon alles moegliche ausprobiert und gegoogelt aber nichts gefunden.
Kann mir hier jemand helfen ?
Waere sehr wichtig eine schnelle Loesung zu finden da ich das Makro anfang der naechsten Woche anwenden muss.
Vielen Dank an Euch alle.
Roland

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat
26.06.2015 15:43:00
ChrisL
Hi Roland
Hört sich nach einem Problem mit den Regionen-/Länder-Einstellungen an. Englisches/Amerikanisches Format ist Monat-Tag-Jahr. Darum mal prüfen:
Sub t()
MsgBox Application.International(xlDateOrder)
End Sub

Die Reihenfolge der Datumselemente:
0 = Monat-Tag-Jahr
1 = Tag-Monat-Jahr
2 = Jahr-Monat-Tag
Stellt sich für mich auf die Frage, was du unter "des öfteren" verstehst. Je nach Computer unterschiedlich?
cu
Chris

Anzeige
AW: Datumsformat
26.06.2015 16:38:27
Roland
Hallo Chris,
danke fuer die schnelle Antwort.
Habe es gleich mal ausprobiert. Bei beiden Dateien, meiner und der des kunden, wird die Zahl 1 zurueckgegeben. Also fuer 1 = Tag-Monat-Jahr
Mit desoefteren meinte ich, dass dies nicht jedesmal geschieht wenn ich der Zelle den Wert der Variablen zuweise.
Habe dann aber gemerkt, dass das, so wie ich bereits geschrieben hatte:
"Nur wenn der Tag groesser als 12 ist, also die maximale Zahl der vorhandenen Monate im Jahr ueberschreitet dann wird das Datum richtig uebernommen."
auftritt.
Also wenn das Tagesdatum zwischen 1 u. 12 liegt, dann wird der Monat mit dem Tag vertauscht. Wenn das Tagesdatum groesser als 12 ist nicht, da de Monat ja niocht groesser als die Zahl 12 sein kann.
Es scheint demnach so zu sein, dass beim zuweisen des Wertes zu der Variablen oder beim Zuweisen der Variablen zu der Zelle die Tagesszahl mit der Monatszahl vertauscht wird, sofern die Tageszahl den Wert 12 noicht ueberschreitet.
Allerdings geschieht es auch waehrend eines Makrodurchlaufes, dass bei manchen Zellen, in denen das Datum geaendert wurde das Datum als "dd/mm/yyyy" angezeigt wird obwohl ich die Zelle ja bereits so
Range("H" & OldCnt).Value = Format(New_Start, "dd - mmm - yyyy")
formatiert hatte.
Alles etwas suspekt fuer mich.
Hast Du noch eine Idee ?
Gruss
Roland

Anzeige
spontan keine weitere Idee...
26.06.2015 17:41:29
ChrisL
Hi Roland
Da kann ich Dir nur noch meine Standard-Debugging-Methode empfehlen, nämlich die Datei resp. eine Kopie davon schrittweise auf das Problem zu reduzieren. D.h. schrittweise überflüssiges raus löschen und zwischendurch testen. Entweder findest du im Prozess die Ursache oder sonst hast du gleich eine Beispielmappe fürs Forum.
cu
Chris

Anzeige
AW: spontan keine weitere Idee...
26.06.2015 18:31:41
Roland
Danke Chris,
habe das Problem geloest.
Habe Wert_1 u. Wert_11 as String deklariert und
Wert_2 u. Wert-22 as Datum
und dann folgendeermassen Werte zugewiesen:
Wert_1 = ActiveCell.Value~f~
~f~Wert_11 = Format(ActiveCell.Value, "dd-mmm-yy")~f~
~f~Wert_2 = ActiveCell.Value~f~
~f~wert_22 = Format(ActiveCell.Value, "dd-mmm-yy")~f~
und dann folgendermassen verschiedenen Zellen zugewiesen:
1. vertauscht Tag und Monat wenn Tag <= 12
~f~ActiveCell.Value = Wert_1~f~
~f~ActiveCell.Value = Format(Wert_1, "dd-mmm-yy")~f~
2. funtioniert einwandfrei
~f~ActiveCell.Value = Wert_11~f~
3. funktioniert einwandfrei
~f~ActiveCell.Value = Wert_2~f~
~f~ActiveCell.Value = Format(Wert_2, "dd-mmm-yy")~f~
4. funktioniert einwandfrei
~f~ActiveCell.Value = wert_22~f~
~f~ActiveCell.Value = Format(wert_22, "dd-mmm-yy")
Vielen Dank fuer Dein Bemuehen
gruss
Roland
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige