VBA で日付を作成しようとしています。今日の日付を 13.04.2018 と表示したいです。
しかし、現在は13.4.2018としか表示されません
1 桁の日と月の前にゼロを追加するにはどうすればよいでしょうか?
現在、次のことを行っています:
stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear
答え1
VBA で日付 (またはその他の値) をフォーマットするには、Format
関数を使用できます。例:
strDateFull = Format(Date, "dd.mm.yyyy")
General Date
2 番目のパラメータは、定義済みの書式名 ( 、、Long Date
または)、またはMedium Date
、、やなどShort Date
の記号を含む書式指定子のいずれかになる書式文字列です。dd
mm
yy
シンボルの完全なリストについては、ドキュメントを参照してください。https://msdn.microsoft.com/en-us/VBA/language-reference-vba/articles/format-function-visual-basic-for-applications
答え2
単純にこれを試すことができます:
Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")
または、次のように、StDateFull 値を渡す前にセルまたはセル範囲をフォーマットすることもできます。
Range("A1").NumberFormat = "dd.mm.yyyy"
Range("A:C").Select
Format$ ("dd.mm.yyyy")
Range("A1").value = stDateFull