Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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

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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige