見出し画像

セルに日付を設定する

 Excel VBAでセルに日付を設定するには、いくつかの方法があります。

  1. Date関数を使う

 最も基本的な方法は、Date関数を使って現在の日付をセルに設定する方法です。

VBA
Sub SetDate()

' セルA1に現在の日付を設定
Range("A1").Value = Date

End Sub
コードは注意してご使用ください。

2. 文字列として日付を設定する

 文字列として日付を設定することもできます。

VBA
Sub SetDate()

' セルA1"2024/06/19"という文字列を設定
Range("A1").Value = "2024/06/19"

End Sub
コードは注意してご使用ください。

3. Format関数を使って書式を設定する

 セルに数値が入っている場合、Format関数を使って日付書式を設定することで、日付として表示することができます。

VBA
Sub SetDate()

' セルA1の数値を"yyyy/mm/dd"形式で表示
Range("A1").NumberFormat = "yyyy/mm/dd"

End Sub
コードは注意してご使用ください。

4. ワークシート関数を使う

 Excelには、日付を操作するための様々なワークシート関数があります。例えば、YEAR関数を使って年のみを取得したり、MONTH関数を使って月のみを取得したりすることができます。

VBA
Sub SetDate()

' セルA1202411日の日付を設定
Range("A1").Value = DateSerial(2024, 1, 1)

End Sub
コードは注意してご使用ください。

 上記以外にも、様々な方法でセルに日付を設定することができます。具体的な方法は、目的や状況に合わせて選択してください。

参考情報

【VBA入門】日付を扱う方法(取得、書式変換、比較、計算、チェック) | 侍エンジニアブログ: https://www.sejuku.net/blog/category/programming-language/excel-vba
【エクセルマクロ・VBA】セルの書式設定|文字列、数値、日付、時間 - みんなの実用学: https://www.youtube.com/watch?v=UtXtLQmJQwE
【Excelの仕様?】Excelの日付とVBAの日付の思わぬ落とし穴 - FI's Story: https://stackoverflow.com/questions/56411722/vba-date-returns-1-1-1900
Automate Excel: https://powerusers.microsoft.com/t5/Building-Flows/Change-Excel-Serial-Date-Format-for-formatDateTime-to-ISO-8601/td-p/1229363

この記事が気に入ったらサポートをしてみませんか?