エクセルマクロで、1年分の日付のシートを作成するVBAコードをご紹介します。
1日1シートとして、一年分のシートを自動生成します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
1年分の日付のシート作成
以下のExcelVBAを実行すると、1年分のシートを一括でコピーします。
Sub 一年分の日付のシート追加()
Dim First_Sht As Worksheet
Dim Mydate As Variant
Dim Startdate As Variant
Dim i As Long
'最初のシートを変数格納
Set First_Sht = ActiveSheet
'開始日
Mydate = First_Sht.Range("A1")
Startdate = Right(Format(Mydate, "yyyymmdd"), 4)
Application.ScreenUpdating = False
'一年分の日数ループ
For i = 1 To 366
If i = 1 Then
'最初のシートは、シート名を変更するのみ
First_Sht.Name = Format(Mydate, "yyyymmdd")
Else
'一年分のシートを作成したら、ループを抜けて終了
If Right(Format(Mydate, "yyyymmdd"), 4) = Startdate Then
Exit For
End If
'シート作成し、シート名を日付にして、セルA1に日付入力
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = Format(Mydate, "yyyymmdd")
ActiveSheet.Range("A1") = Format(Mydate, "yyyy/mm/dd")
End If
'日付を1日プラス
Mydate = Mydate + 1
Next i
Application.ScreenUpdating = True
Worksheets(1).Select
MsgBox "完了"
End Sub
マクロ実行前
シート内のセルA1に日付(開始日)を入力します。
マクロ実行後
ファイル内に1年分のシートを自動挿入します。
各シートのセルA1に、日付を自動入力します。
「2022/3/1」~「2023/2/28」のシートを作成しました。
※ループ回数が多いので、マクロ動作完了まで1分ほどかかりました。
下図の「★」のあたりを右クリックすると、
シート一覧が表示されるので、シート移動が簡単にできます。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク