
エクセル2007。
今日の日付を dd-mmm-yy 形式で現在のセルに入力するマクロが必要です (例: 30-Oct-14)。
私が持っているコードはシンプルです:
'ActiveCell.Value = Format(Now(), "dd-mmm-yy")'
何らかの理由で、ハイフンの代わりにスペースを含む「30 Oct 14」が返されます。
同様の形式は正しく機能します。例:
dd-mm-yy は 30-10-14、
dd~mmm~yy は 30~Oct~14 となります。
セルの実際の値は「10 30 2014」に設定されています
誰か簡単な回避策を教えてくれませんか?また、可能であれば、なぜこのようなことが起こるのか説明してもらえますか?
答え1
Excel は、マクロで入力したテキストを自動的に日付に変換し、日付形式を適用します。Excel でテキストとして表示するように強制するには、日付文字列の前に一重引用符を追加します。
ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")
または、まずセルの書式をテキスト タイプに設定します。
ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")