今回はマクロを使ってカレンダーの日付を入力する例を紹介します。日付は関数で入力できますが、その場合シートには数式が入力されています。マクロの場合は直接セルに日付を入力したりできるので、数式を変更されたりする心配をしないですみます。月の日付を取得し曜日に書式設定し、それを日数分繰り返します。この回では、DateSerial関数、Format関数、For~Nextステートメントを利用します。72回で利用したDateSerial関数を使います。DateSerial関数は、引数に指定した年、月、日に対応する日付をシリアル値で返すVBA関数です。DateSerial関数の引数として、YearにはA1セル、MonthにはD1セル、DayにはA3セルを指定します。Integerで宣言しました。SubB3セルに書式を設定しない状態でコードを実行すると、次のように入力されます。Format関数を使って、セルの書式を設定することにします。8行目のコードを以下のように変更します。'Format関数にDateSerial関数をネストします。"(aaa)")コードを実行すると、今回は日付からその日付の曜日を表示することができます。指定回数の繰り返しサンプルはカレンダーなので、日付に対応する曜日を指定回数繰り返す必要があります。For~Nextステートメントを使います。繰り返す回数は、その月の日数分です。末日が日数ということになります。Integerを宣言します。翌月の0日が末日として取得できます。Nextコードをまとめると、以下の様になります。Sub実行すると、該当月の日数分の曜日が入力されます。今回のマクロは、指定された年、月から日付を取得して、それを曜日として表示するマクロを繰り返しました。複数のワークブックを同時に開いている場合に、マクロを登録したブックだけに作用することを意図しているので、「ThisWorkbook」を指定しています。