エクセルマクロで、1か月分の日付のシートを作成するVBAコードをご紹介します。
1日1シートとして、一か月分のシートを自動生成します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
1か月分の日付のシート作成
以下のExcelVBAを実行すると、1か月分のシートをコピーします。
Sub 連続したシート自動作成()
Dim First_Sht As Worksheet
Dim Months As Long
Dim Mydate As Long
Dim i As Long
Dim ShtName As String
'最初のシートを変数格納
Set First_Sht = ActiveSheet
'最初の日付
Mydate = First_Sht.Range("A1")
'一か月が何日間あるか計算
Months = DateAdd("m", 1, Mydate) - Mydate
'一か月の日数ループ
For i = 1 To Months
If i = 1 Then
'最初のシートは、シート名を変更するのみ
First_Sht.Name = Right(Format(Mydate, "yyyymmdd"), 4)
Else
'シート作成し、シート名を日付にする
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Right(Format(Mydate, "yyyymmdd"), 4)
ActiveSheet.Range("A1") = Format(Mydate, "yyyy/mm/dd")
End If
'日付を1日プラス
Mydate = Mydate + 1
Next i
MsgBox "完了"
End Sub
マクロ実行前
シート内のセルA1に日付を入力します。(1日)
マクロ実行後
ファイル内に1か月分のシートを自動挿入します。
各シートのセルA1に、日付を自動入力します。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク