日付関数を使用して、日と月の前にゼロを付けた文字列を作成します。

日付関数を使用して、日と月の前にゼロを付けた文字列を作成します。

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 Date2 番目のパラメータは、定義済みの書式名 ( 、、Long Dateまたは)、またはMedium Date、、やなどShort Dateの記号を含む書式指定子のいずれかになる書式文字列です。ddmmyy

シンボルの完全なリストについては、ドキュメントを参照してください。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

関連情報