Excel一覧 Excel操作 シートの表示・移動・追加 シート操作

【Excel】複数のシート名を一括変更する方法|連番・一覧から効率よく変更

Excelで月別や部署別のワークシートを作成していると、「Sheet1」「Sheet2」「Sheet3」のような名前を、「1月」「2月」「3月」などへまとめて変更したいことがあります。

数枚程度であれば1枚ずつ変更しても大きな負担にはなりません。しかし、10枚、20枚とシートが増えると、同じ操作を繰り返すだけでも時間がかかり、名前の入力間違いや変更漏れも発生しやすくなります。

そこで知っておきたいのが、Excelで複数のシート名を効率よく変更する方法です。

ただし、Excelの通常操作には、複数のシートを選択してそれぞれ異なる名前へ一度に置き換えるような専用の一括変更機能はありません。そのため、シート数や変更したい名前の規則性によって、手動操作とVBAを使い分けることが重要です。

この記事では、少数のシート名を効率よく変更する方法から、連番やセルに用意した一覧を使って複数のシート名をまとめて変更する考え方まで解説します。

✅ Excelで複数のシート名を一括変更できるのか

複数のシート名を変更したいとき、最初に確認しておきたいのがExcelの標準機能でできる範囲です。複数シートを選択すれば、同じデータの入力や書式設定などをまとめて行えるため、シート名についても一括変更できると思われがちです。

しかし、シート名は各ワークシートを識別するための名前なので、それぞれ異なる名前を設定する必要があります。そのため、複数シートを選択して「1月」「2月」「3月」のように異なる名前を一度の操作で設定する標準機能は用意されていません。無理に複数選択を使おうとすると、目的とは異なる操作になってしまうことがあります。

まずは「通常操作でできること」と「自動化した方がよいこと」を分けて考えることが重要です。

・Excelの標準機能ではシート名を1枚ずつ変更する

通常のExcel操作でシート名を変更する場合は、基本的に対象となるシートごとに名前を設定します。

代表的な方法は、シートタブをダブルクリックする操作です。

  1. 名前を変更したいシートタブをダブルクリックします。
  2. 現在のシート名が選択された状態になります。
  3. 新しいシート名を入力します。
  4. Enterキーを押して確定します。
  5. 次のシートへ移動し、同じ操作を繰り返します。

たとえば「Sheet1」「Sheet2」「Sheet3」を「1月」「2月」「3月」へ変更する程度なら、この方法でも十分対応できます。

シートタブを右クリックしてシート名を変更する方法もありますが、複数枚を続けて処理する場合は、ダブルクリックから直接入力する方が操作数を抑えやすくなります。

・複数シートの選択では名前を一括変更できない

Excelでは、ShiftキーやCtrlキーを使用して複数のシートを選択できます。

ただし、この機能は複数のワークシートに同じ編集を行う場合などに使用するもので、選択したシートへそれぞれ異なるシート名をまとめて設定する機能ではありません。

シート名は同じブック内で重複できないため、

  • 1枚目を「営業」
  • 2枚目を「経理」
  • 3枚目を「総務」

というような変更は、それぞれ個別に設定する必要があります。

ここを理解しておかないと、「複数シートをグループ化すれば名前も一括変更できるのでは?」と操作方法を探し続けてしまいます。

少数なら手動、大量なら自動化するという判断が、複数のシート名を効率よく変更するポイントです。

シート名を1枚ずつ変更する基本操作や、分かりやすい名前を付けるための考え方を確認したい場合は、「【Excel】シート名の変更・管理・命名ルール|実務で役立つ活用方法を徹底解説」も参考にしてください。基本的な管理方法を理解したうえで、一括変更が必要な場面だけ自動化すると効率的です。


✅ Excelで少数のシート名を効率よく連続変更する方法

一括変更したいからといって、必ずVBAなどを使用する必要があるわけではありません。変更対象が3~5枚程度しかない場合は、自動化の準備をするより手動で変更した方が早いこともあります。特に毎回異なる名前を付ける場合は、規則性がないため自動処理のメリットも小さくなります。

一方で、右クリックメニューを何度も開いて変更すると、少ない枚数でも操作が煩雑になりがちです。手動で変更する場合でも、できるだけ操作数を減らすことがポイントです。シート数だけでなく、変更頻度や名前の規則性まで考えて方法を選びましょう。

・シートタブをダブルクリックして順番に変更する

数枚のシートであれば、シートタブを直接ダブルクリックして名前を変更する方法が分かりやすく効率的です。

たとえば、「Sheet1」~「Sheet4」を「第1四半期」~「第4四半期」へ変更する場合は、次のように操作します。

  1. 「Sheet1」のタブをダブルクリックします。
  2. 「第1四半期」と入力してEnterキーを押します。
  3. 「Sheet2」をダブルクリックします。
  4. 「第2四半期」と入力してEnterキーを押します。
  5. 残りのシートも同じ方法で変更します。
  6. 最後にシート名と順番を確認します。

この方法なら、右クリックメニューを開いて「名前の変更」を選択する操作を毎回行う必要がありません。

数枚しかないシートを一度だけ変更するのであれば、VBAを作成するよりも手軽です。

・手動変更と一括変更をシート数だけで判断しない

手動と自動化のどちらがよいかは、単純なシート数だけでは決まりません。

たとえば30枚のシートがあっても、一度だけ名前を変更して終わりなら、状況によっては手動でも対応できます。

反対に、毎月10枚のシートを、

「2026年1月_営業」
「2026年1月_経理」
「2026年1月_総務」

など一定のルールで変更するのであれば、自動化するメリットが大きくなります。

判断するときは、

  • 変更するシート数
  • 同じ作業を繰り返す頻度
  • シート名に規則性があるか
  • 新しいシート名を一覧として用意できるか

を確認するとよいでしょう。

一度しか行わない作業まで無理に自動化する必要はありません。反対に、毎月・毎週繰り返す作業を手動で続けると、作業時間だけでなく入力ミスのリスクも積み重なります。

シート名を変更する前に新しいワークシートを追加する必要がある場合は、「【Excel】シートを追加する方法|新しいワークシートの挿入手順を解説」で基本的な追加手順を確認できます。必要なシートを作成してから名前を整理すると、ブック全体の構成も管理しやすくなります。


✅ Excelで大量のシート名を一括変更するならVBAが便利

シート数が多くなると、1枚ずつ名前を入力する方法では作業時間が長くなります。さらに「1月~12月」のような連番や、セルに用意した名称一覧を使う場合は、人が同じ操作を繰り返すより自動化した方が正確に処理できます。

ただし、VBAを使用すればどのような名前でも無条件に設定できるわけではありません。シート名には使用できない文字や文字数などの制限があり、同じブック内に同名のシートを作ることもできません。大量変更では、途中で1件エラーになるだけで処理が止まる可能性もあります。そのため、単に名前を書き換えるコードだけでなく、変更前のデータを確認することも重要です。まずは、一括変更が特に向いているケースを整理しておきましょう。

・連番のシート名は一括変更と相性がよい

VBAによる一括変更が特に便利なのが、規則性のあるシート名です。

たとえば、

「Sheet1」→「店舗1」
「Sheet2」→「店舗2」
「Sheet3」→「店舗3」

のように連番で変更したい場合です。

人が入力すると、「店舗11」を「店舗1」と入力してしまうなどの入力ミスが発生する可能性がありますが、規則に沿って自動生成すれば同じ形式で名前を設定できます。

ほかにも、

  • 1月、2月、3月……の月別シート
  • 営業所1、営業所2、営業所3……の拠点別シート
  • 担当1、担当2、担当3……の担当者別シート
  • 集計_01、集計_02、集計_03……の管理用シート

などが考えられます。

特に同じ形式のシートを複製してから名称だけを変更する業務では、一括変更との相性がよくなります。

・セルに作成した一覧からシート名を変更する方法もある

必ずしも新しいシート名に規則性があるとは限りません。

たとえば、

「東京本社」
「大阪営業所」
「名古屋営業所」
「福岡営業所」

のように、それぞれ異なる名前を設定したいケースもあります。

この場合は、ワークシート上に新しいシート名の一覧を作成し、そのセルをVBAで順番に読み取って各シートへ設定する方法が便利です。

考え方としては、

  1. セルに新しいシート名を縦方向に入力します。
  2. VBAで一覧を上から順番に取得します。
  3. 対応するワークシートを順番に取得します。
  4. 取得した文字列をシート名として設定します。
  5. すべて変更した後に結果を確認します。

という流れになります。

この方法のメリットは、VBAコードそのものを書き換えなくても、セル側の一覧を変更することで別のシート名に対応しやすいことです。

特に担当者名・部署名・店舗名など、毎回名称が変わる可能性がある業務では、コードへ名前を直接書くよりも管理しやすくなります。

ただし、一覧に重複した名前やシート名として使用できない文字が含まれていると、正常に変更できない可能性があります。

そのため、大量のシート名を変更するときは、実行することだけでなく、変更前に名称一覧を確認する仕組みを考えることも重要です。

・VBAで複数のシート名を連番に一括変更する

「店舗1」「店舗2」「店舗3」のように規則性のあるシート名へ変更する場合は、VBAでシートを順番に処理する方法があります。

たとえば、ブック内のシート名を「店舗1」「店舗2」「店舗3」……と変更する場合は、次のようなコードを使用できます。

Sub シート名を連番で変更する()

    Dim i As Long

    For i = 1 To Worksheets.Count
        Worksheets(i).Name = "店舗" & i
    Next i

End Sub

このコードでは、Worksheets.Countでブック内のワークシート数を取得し、For文で1枚目から最後のシートまで順番に処理しています。

"店舗" & iとすることで、シートの位置に応じて「店舗1」「店舗2」「店舗3」……という名前が設定されます。

実行する場合は、次の手順で操作します。

  1. 名前を変更するExcelブックを開きます。
  2. AltF11キーを押してVBE(Visual Basic Editor)を開きます。
  3. 標準モジュールを挿入します。
  4. コードを貼り付けます。
  5. 対象となるブックやシート構成を確認します。
  6. マクロを実行します。
  7. シート名が意図した連番になっているか確認します。

ただし、すでに「店舗1」など同じ名前のシートが存在する場合は、そのまま変更できないことがあります。

実際のファイルで使用する場合は、現在のシート名と変更後の名前を事前に確認してから実行することが大切です。

・セルの一覧から複数のシート名を一括変更する

シート名に規則性がない場合は、ワークシート上に名称一覧を作成し、その内容を読み取って変更する方法があります。

たとえば「設定」シートのA2セル以降に、

「東京本社」
「大阪営業所」
「名古屋営業所」

と入力されている場合を考えてみましょう。

一覧を使って名前を変更する場合は、次のようなコードを使用できます。

Sub 一覧からシート名を変更する()

    Dim wsList As Worksheet
    Dim i As Long

    Set wsList = Worksheets("設定")

    For i = 1 To Worksheets.Count - 1
        Worksheets(i + 1).Name = wsList.Cells(i + 1, 1).Value
    Next i

End Sub

この例では「設定」シートを名称一覧として残し、それ以外のシートへA2セルから順番に名前を設定しています。

実行するときは、

  1. 「設定」シートを用意します。
  2. A2セル以降へ新しいシート名を入力します。
  3. シート数と名称一覧の件数が合っているか確認します。
  4. VBAを実行します。
  5. 各シートへ正しい名前が設定されたか確認します。

という流れになります。

セル一覧を利用するメリットは、変更する名称をワークシート上で確認・修正してから実行できることです。

ただし、実際の業務ファイルでは「設定」シートの位置が途中に移動する可能性もあります。そのため、より複雑な仕組みにする場合は、単純にシート位置だけで対応させるのではなく、変更対象を明確に決めて処理することも重要です。

同じレイアウトのシートを複数作成してから、店舗名・部署名・月名などへ一括変更する使い方も便利です。元になるシートを効率よく複製したい場合は、「【Excel】同じシートを複数作る方法|効率的な複製手順と活用事例」もあわせて確認しておくと、シート作成から名前変更までの作業を整理できます。


 

✅ Excelでシート名を一括変更できない原因と注意点

シート名を一括変更するときは、コードが正しくても変更後の名称に問題があると処理できない場合があります。特に大量の名称をセルから読み込む方法では、1つだけ不適切な名前が混ざっていることに気付きにくくなります。

また、空白セルが一覧に含まれていたり、すでに存在するシート名と重複したりするケースもあります。手動ならその場で気付きやすい問題でも、一括処理では途中でエラーになって初めて判明することがあります。そのため、VBAを実行する前に名称一覧を確認することが重要です。大量変更では「コードが動くか」だけでなく、「変更後のシート名が正しいか」まで確認しておきましょう。

・同じシート名は複数設定できない

1つのExcelブック内では、同じ名前のワークシートを複数作ることはできません。

たとえば、すでに「東京」というシートが存在している状態で、別のシートも「東京」へ変更しようとすると正常に処理できません。

一覧から変更する場合は、

  1. 新しいシート名に重複がないか確認する
  2. 現在のシート名とも重複しないか確認する
  3. 問題がなければ一括変更を実行する

という順番で確認すると安全です。

特に部署名や担当者名をシート名に使用している場合は、名称一覧をコピーして作成した結果、同じ名前が残っていることがあります。

・シート名に使用できない文字を確認する

Excelのシート名には、使用できない文字があります。

代表的なのは次の文字です。

: \ / ? * [ ]

たとえば、日付を「2026/09/01」のような形式でシート名にしようとすると、「/」が含まれているため、そのままでは設定できません。

日付をシート名にするのであれば、

「2026-09-01」

など、使用可能な文字へ置き換える必要があります。

また、シート名は31文字以内にする必要があります。

セルに入力されている文字列をそのままシート名へ設定する場合は、禁止文字・文字数・重複の3点を事前に確認しておくと、一括変更時のエラーを防ぎやすくなります。


✅ Excelで大量のシート名を変更する前に確認しておきたいこと

数十枚のシート名を一括変更すると、手作業に比べて大幅に時間を短縮できます。しかし、一括処理は間違った条件でも短時間で大量の変更が行われる点に注意が必要です。

特にシートの並び順を基準に名前を付けるコードでは、想定していた順番と実際の順番が違うだけで、名称と内容の組み合わせがずれてしまいます。さらに、シート名を数式やマクロなどから参照しているブックでは、名称変更が別の処理へ影響する可能性も考える必要があります。

大量変更では「早く変更できること」だけを目的にせず、変更後もブック全体が正しく利用できるか確認することが重要です。業務で使用しているファイルほど、元に戻せる状態を用意してから作業しましょう。

・シート名とシートの内容が一致するか確認する

連番による変更では、現在のシート順を基準に名前を設定するケースがあります。

たとえば、

1枚目=東京
2枚目=大阪
3枚目=名古屋

という想定で名称一覧を作成していても、実際の並び順が「大阪」「東京」「名古屋」に相当する内容だった場合、間違った名前が設定されてしまいます。

一括変更前には、

  1. 現在のシート順を確認する
  2. 新しい名称一覧の順番を確認する
  3. シートの内容と名称が対応しているか確認する
  4. 問題がなければ処理を実行する

という確認を行うと安全です。

単純な連番なら問題になりにくいですが、店舗名や担当者名などシートごとに意味の異なる名称を付ける場合は特に重要です。

・業務ファイルはバックアップを作成してから変更する

大量のシート名を変更する場合は、処理前のファイルを残しておくことをおすすめします。

たとえば、

  1. 元のExcelファイルを保存します。
  2. ファイルを複製してバックアップを作成します。
  3. 作業用ファイルで一括変更を実行します。
  4. シート名と内容を確認します。
  5. 数式やマクロなども正常に動作するか確認します。

という流れです。

VBAによる変更は短時間で大量の処理を行える反面、想定を間違えると大量のシートへ一気に影響します。

特に他の人も使用する業務ファイルでは、すぐに元の状態へ戻せるようにしておくことが重要です。

・一度だけの変更なら無理に自動化しない

一括変更という言葉からVBAを使った方が効率的に感じるかもしれませんが、すべてのケースで自動化が最適とは限りません。

たとえば3枚のシート名を一度だけ変更するために、コードを作成して動作確認まで行うのであれば、手動で変更した方が早い場合があります。

反対に、

  • 毎月同じ形式でシートを作成する
  • 10枚以上のシートを繰り返し変更する
  • シート名に一定の規則がある
  • 名称一覧を別途管理している

といったケースでは、自動化による効果が大きくなります。

「自動化できるか」ではなく、「自動化した方が作業全体として効率的か」という視点で判断すると、無駄な作業を増やさずに済みます。

シートの並び順を基準に名前を一括変更する場合は、処理前に現在の順番を確認しておくことも重要です。月別・部署別など一定の順番に整理してから名前を変更したい場合は、「【Excel】シートの順番を入れ替える方法|複数シートの並び順を整理するコツ」で並べ替えの方法を詳しく解説しています。


 

✅ まとめ:Excelの複数シート名を効率よく一括変更しよう

Excelではシート名を変更できますが、標準機能だけで複数のシートへそれぞれ異なる名前をまとめて設定する専用機能はありません。そのため、変更する枚数や名称の規則性に合わせて、手動操作とVBAを使い分けることが重要です。

  • 数枚程度のシートなら、タブをダブルクリックして手動で変更する方法が手軽
  • 複数シートを選択しても、それぞれ異なるシート名へ一括変更することはできない
  • 「店舗1」「店舗2」のような規則性のある名前はVBAによる連番処理と相性がよい
  • 規則性のない名称は、セルに一覧を作成してVBAから読み取る方法が便利
  • シート名の重複や使用できない文字、31文字の上限に注意する
  • 一覧を利用するときは、シートの順番と名称の対応関係を確認する
  • 大量変更する場合は、事前にバックアップを作成しておく
  • 数枚を一度だけ変更する場合は、無理に自動化せず手動操作も検討する

シート名の一括変更は、大量のワークシートを扱うときほど効果を発揮します。

特に毎月同じシートを作成したり、店舗・部署・担当者ごとに多数のシートを管理したりする場合は、名称の付け方をあらかじめ整理しておくことで変更作業を効率化できます。

まずは変更するシート数と新しい名前の規則性を確認し、少数なら手動、繰り返し発生する大量変更ならVBAというように、作業内容に合った方法を選びましょう。

    -Excel一覧, Excel操作, シートの表示・移動・追加, シート操作