エクセルマクロVBAでシート名を日付に変更したいときがあります。
たとえば、2020/5/1から2020/5/31まで一日ごとにシート名を日付にして、シートを作成(コピー)するとします。
つまり、以下の状態から
以下の状態に作り変えるわけです。
こうしたときに、手作業でシートをコピーして、シート名を変更するのは、とてもメンドウです。
そこでマクロを使って、一発で作成できると作業がラクになります。
今回は、そのマクロの作成方法について紹介をしていきます。
マクロ解説動画|日付をシート名にしてシートを自動作成する
今回は、動画で解説をしています。
ゼロの状態(白紙の状態)のエクセルからマクロを作っていますので、以下の動画を見て作成方法を参考にしてください。
マクロのプログラムソース|コピペして使用可能
以下で、マクロのプログラムを公開しています。
マクロを作成するのがメンドウな人はそのままコピペして使用してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Option Explicit Sub SheetCopy() Dim i As Long, copyNo As Long Dim ws1 As Worksheet, ws2 As Worksheet Dim ws As Worksheet Dim startDate As Date, endDate As Date Dim Hiduke1 As Date Dim Hiduke2 As String Set ws1 = Worksheets("Sheet1") Set ws2 = Worksheets("設定") startDate = ws2.Range("C2").Value endDate = ws2.Range("C3").Value copyNo = endDate - startDate For i = 0 To copyNo Hiduke1 = startDate + i Hiduke2 = Replace(Hiduke1, "/", "") ws1.Copy Before:=ws1 Set ws = ActiveSheet ws.Name = Hiduke2 ws.Range("B4").Value = Hiduke1 ws.Range("C4").Value = WeekdayName(Weekday(Hiduke1)) Next End Sub |
基本的には上述した動画をご覧になりながら、マクロを作ってみていただければと思います。