kobayashika64のブログ

パソコンや数学などについて記事を書きます。よろしく。

Excel VBA 入門 日程表コピー⇒日付シート、ファイル作成(ユーザーフォーム、ボタンの作成)ダウンロードできます!

日程表の原版 から 月ごとのシート、ブックを作成します。

ユーザーフォームの作り方、マクロからの動かし方、ボタンの作成の仕方を学びます。

ボタン一つで日程表が作れるのは便利です。 

ダウンロード☟

kobayashika64.jimdofree.com

 

youtu.be

 

コード☟

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