
Excel 2007.
Ich möchte ein Makro, das das heutige Datum im Format TT-MMM-JJ in die aktuelle Zelle einfügt, z. B. 30.10.14.
Der Code, den ich habe, ist einfach:
„ActiveCell.Value = Format(Jetzt(), „tt-mmm-jj“)“
Aus irgendeinem Grund wird „30. Okt. 14“ mit Leerzeichen statt Bindestrichen zurückgegeben.
Ähnliche Formate funktionieren einwandfrei. zB
tt-mm-jj ergibt 30.10.14,
tt~mmm~jj ergibt 30.10.14
Der tatsächliche Wert der Zelle wird auf „10 30 2014“ gesetzt.
Kann mir jemand eine einfache Problemumgehung nennen und, wenn möglich, erklären, warum das passiert?
Antwort1
Excel konvertiert den von Ihnen mit dem Makro eingegebenen Text automatisch in ein Datum (und wendet dann ein Datumsformat an). Um Excel zu zwingen, den Text als Text anzuzeigen, stellen Sie der Datumszeichenfolge ein einfaches Anführungszeichen voran:
ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")
Alternativ können Sie das Format der Zelle zunächst auf den Texttyp festlegen:
ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")