Excelでカレンダーを作ってみよう

Step 2 月のシートを作成する

12ヶ月のシートを、実行画面のメインシートの後ろにVBAで作成します。




Homeに戻る > Excelでアプリケーションソフト > カレンダーソフト

シートのVBAコード

VBA実行内容

・Application.DisplayAlertsをFalseにし、「~しますか?」などの警告メッセージを非表示にし、プログラムが停止しないようにしています。

・既に1~12月のシートが存在するかチェックし、存在する場合は、Sheets(i).Deleteで削除します。

・Sheets.Add Afterで最後のシートの後ろにシートを追加します。

・最後に実行シートをSelectし戻しています。


下記のコードを追加してください

'月のシートを削除
Private Sub ExDeleteSheet()
    Dim i As Integer
    Dim j As Integer
    
    '警告メッセージの非表示
    Application.DisplayAlerts = False

    For j = 1 To 12
        For i = 1 To Sheets.Count
            If Sheets(i).Name = j & "月" Then
                Sheets(i).Delete
                Exit For
            End If
        Next
    Next

    Application.DisplayAlerts = True

End Sub

'月のシートを作成
Private Sub ExMakeSheet()
    Dim i As Integer
    Dim ans As Integer

    bFlag = False
    '月のシートはあるかチェック
    For i = 1 To Sheets.Count
        For j = 1 To 12
            If Sheets(i).Name = j & "月" Then
                bFlag = True
                Exit For
            End If
        Next
        '見つかった
        If bFlag = True Then
            Exit For
        End If
    Next
    
    If bFlag = True Then
        ans = MsgBox("既にカレンダー用のシートが存在するようです。削除してもよろしいですか?", vbOKCancel, "カレンダー作成")
        If ans <> vbOK Then
            Exit Sub
        Else
            '月のシートを削除
            ExDeleteSheet
        End If
    End If
    
    '月のシートを作成
    For i = 1 To 12
        'シートを追加
        ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
        '名前の変更
        ActiveWorkbook.ActiveSheet.Name = i & "月"
    Next
    
    Sheets("メイン").Select
End Sub

Private Sub CommandButton1_Click()
    ExMakeSheet
End Sub


実行結果

実行画面のメインシートの後ろに、1月から12ヶ月分のシートが追加されています。

月のシートが追加された

Homeに戻る > Excelでアプリケーションソフト > カレンダーソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved