Excel

Excelマクロ紹介!シートコピー&リネームを一気にやる方法!

1つのシートをたくさんコピーする必要がある時、
シートコピー➡︎シート名変更を繰り返すの大変ですよね…

今回はそんな時に1発でシートコピー&リネームをできる
マクロを紹介します

さかい

はじめまして、さかいと申します。
自動化オタクの私が
解説させていただきます!

マクロを作る前の準備

まず、マクロを作成するために準備をしていきます

Excelファイルの上にあるツールバーに

「開発」タブを表示させます

既に表示している方は2 マクロを作るにジャンプしていただいてOKです

開発タブを表示

①ツールバーの上で右クリック

②「リボンのユーザー設定」を選択

すると、Excelのオプションが開きます

③「開発」にチェックをつけてOKをクリック

ツールバーに「開発」タブが表示されます。

 これで準備完了です!

 お疲れさまです!これでマクロを作ることができます!

 早速マクロを作成していきましょう。

マクロを作る

①VBEを起動

「開発」タブから「Visual Basic」をクリック

または「Alt + F11」でもOKです

以下の画面が表示されます

②プロジェクトから標準モジュールを挿入

 プロジェクト→挿入→標準モジュールをクリック

標準モジュールが表示されるとOKです

③Module1に以下のコードを貼り付け

コードを貼り付け
Sub SheetCopy()
Dim ws As Worksheet
Dim isSheet As Boolean
Dim newSheetList As Range
Dim newSheet As Range

    '選択範囲に値があるかチェック
    Set newSheetList = Selection
    '先頭セルに値がない場合
    If IsEmpty(newSheetList.Item(1).Value) = True Then
        '処理を終了
        MsgBox "セルに値がありません"
        Exit Sub
    End If
    
    'コピー元のシート名を入力
    copySheet = Application.InputBox("コピー元", "シート複製", Type:=2)
    If copySheet = "False" Then Exit Sub

    'シート存在フラグを0に設定
    isSheet = 0
    For Each A In Sheets
        'シート名が存在する場合、フラグを1に設定
        If A.Name = copySheet Then
            isSheet = 1
        End If
    Next
    
    'シートが存在しない場合
    If isSheet = 0 Then
        'メッセージを表示して終了
        MsgBox copySheet & "は存在しません"
        Exit Sub
    End If
    
    '選択したシート名を繰り返す
    For Each newSheet In newSheetList
        'シートコピー後、シート名を変更
        Worksheets(copySheet).Copy After:=Sheets(Sheets.count)
        ActiveSheet.Name = newSheet.Value
    Next
        MsgBox "コピー終了!"
End Sub

④マクロを実行

初めに新規シートを追加し、
コピー後のシート名を入力します

シートを追加し、シート名を入力

シート名を選択した状態で、▶︎(実行ボタン)をクリック

マクロを実行

コピー元のシート名入力ボックスが表示

コピーしたいシート名を入力し、OKをクリック

シート名を入力

選択したシート名分、コピーができました!

シートコピー完了画面

⑤エラーの解説

コピー後のシート名が入力されていない時、マクロを実行後に
エラーメッセージが表示されます

未入力エラー

また、コピー元のシート名がない時もエラーメッセージが表示されます

存在しないシート名入力
シートが存在しないエラー

上記のメッセージが表示された時は、セルの選択範囲とシート名を

見直してみてください

まとめ

ここまでお疲れさまでした。

今回はシートをコピー&リネームするマクロについて説明させていただきました。

繰り返し作業はマクロの得意分野なので、これ自動化できないかなと思ったら、調べてみるのがオススメです!

また、インスタでExcelやWindowsの便利術を紹介しているので、

マクロについてコメントやDMをいただけると嬉しいです!