【エクセルマクロ】シートコピーして名前を翌月に変更:自動化で効率アップ

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月」シートを挿入します。


 

すでに次月シートが存在する場合は、エラーメッセージを表示します。

下図の場合は、すでに「2月」シートが存在するためエラーメッセージが表示されています。


 
 
この記事がお役に立てれば幸いです。
 

【エクセルマクロ】ワークシート処理を自動化する:超便利29選
...

 

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