Excel VBA 入門 日程表コピー⇒日付シート、ファイル作成(ユーザーフォーム、ボタンの作成)ダウンロードできます!
日程表の原版 から 月ごとのシート、ブックを作成します。
ユーザーフォームの作り方、マクロからの動かし方、ボタンの作成の仕方を学びます。
ボタン一つで日程表が作れるのは便利です。
ダウンロード☟
コード☟
Private Sub CommandButton1_Click()
Dim a As String
Dim w As String
Dim i
For i = 1 To 31
Worksheets("Sheet1").Copy Before:=Worksheets(1) ' 先頭にコピー
' 曜日を取り出す Weekday("2021/7/4") 値 1~7 (日~土)
w = WeekdayName(Weekday(Str(TextBox1) & "/" & Str(TextBox2) & "/" & Str(32 - i)), True)
' シート名に日付と曜日を付ける
ActiveSheet.Name = Str(TextBox2) & "月" & Str(32 - i) & "日(" & w & ")"
Range("F2").Value = 32 - i
Range("B2").Value = TextBox1.Value
Range("D2").Value = TextBox2.Value
Next
'ファイル名(文字列)を指定してセーブする。ThisWorkbook.Pathで現在のパスを取得可能(便利!)
a = ThisWorkbook.Path & "\" & Str(TextBox1) & "年" & Str(TextBox2) & "月" & ".xlsm"
'作業中のファイルはActiveWorkbookで表される
ActiveWorkbook.SaveAs Filename:=a
End Sub