エクセルマクロ:シートコピーして名前を翌月に変更(動画あり)

ExcelVBA-翌月シート作成-アイキャッチ ExcelVBA

エクセルマクロで、シートコピーして名前を翌月に変更するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

シートコピーして名前を翌月に変更

以下のExcelVBAを実行すると、アクティブシートをコピーして次月シートを作成します。


Sub 来月分のシート追加()

Dim Ws As Worksheet
Dim Flg As Boolean
Dim Get_Month As String
    
    '来月が何月か取得
    Get_Month = Replace(ActiveSheet.Name, "月", "") + 1
    
    '現在のシート名が「12月」の場合は、来月は1月とする
    If Get_Month = 13 Then
        Get_Month = 1
    End If
     
    Flg = False
    
    'すでに同名シートがないかチェック
    For Each Ws In Worksheets
        If Get_Month & "月" = Ws.Name Then
            Flg = True
            Exit For
        End If
    Next
        
    If Flg = False Then
    
        'シートコピー作成し、シート名を変更する
        ActiveSheet.Copy After:=ActiveSheet
        ActiveSheet.Name = Get_Month & "月"
        
        MsgBox "完了"
            
    Else
        MsgBox "すでに来月シートが存在しています。処理停止"
    End If

End Sub

 

マクロ実行後

シートをコピーして、シート名を次月に変更します。

アクティブシートである「3月」シートをコピーし、右側に「4月」シートを挿入します。


 

下図のように「1月」シートを開いた状態でマクロを実行した場合、

すでに「2月」シートが存在するためエラーメッセージを表示します。


 
 
この記事がお役に立ちますと幸いです。
 

・【エクセルマクロ】シートの追加・削除を自動化まとめ
 

【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!