Excel

Excelマクロ紹介!シート名を一括で置換するマクロを解説!

シート名を置換できればいいのになぁ

と思ったことありませんか?

これ、マクロを使えばできます!

アイコン名を入力

はじめまして、さかいと申します。
インスタで『自動化オタクの仕事術』を紹介している自分が解説させていただきます!

マクロを作る前の準備

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

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

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

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

開発タブを表示

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

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

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

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

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

 これで準備完了です!

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

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

マクロを作る

①VBEを起動

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

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

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

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

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

標準モジュールを挿入

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

標準モジュールの表示

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

Sub SheetRename()
    Dim ws As Worksheet
    '置換前のシート名を宣言
    Dim before As String
    '置換後のシート名を宣言
    Dim after As String
    
    '置換前を入力
    before = Application.InputBox("置換前", "シート名置換", Type:=2)
		If before = "False" Then Exit Sub
    '置換後を入力
    after = Application.InputBox("置換後", "シート名置換", Type:=2)
		If after = "False" Then Exit Sub
    
    '全シート名を置換
    For Each ws In ActiveWorkbook.Worksheets
        'エラーの場合、次のシート
        On Error Resume Next
        '置換を実施
        ws.Name = Replace(ws.Name, before, after)
    Next ws
    
    'メッセージ表示
    MsgBox "置換終了!"

End Sub

これでマクロの完成です!

④マクロの実行

2022年○月を2023年○月に置換します

▶︎(実行ボタン)をクリック

置換前の入力ボックスが表示

置換前の文字(2022)を入力し、OKをクリック

次に置換後の入力ボックスが表示

置換後の文字(2023)を入力し、OKをクリック

メッセージが表示されると、置換完了です!

まとめ

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

今回はシート名の一括置換のマクロについて説明させていただきました。

シート名を1つ1つ変えるのは意外と大変なので、ぜひこれを使ってみてください!