プチIT化 PR

【Excel】シート名を連番にリセットして整えるには?マクロサンプルの紹介

記事内に商品プロモーションを含む場合があります。
当サイトは、アフィリエイト広告を利用しています。

こんにちは。今回の記事は、Excelのシート名を連番にするマクロサンプルを紹介する記事です。

Excelのシートを追加すると、「Sheet1」「Sheet2」「Sheet3」というカウントアップ方式でシート名が自動的に振られていきますよね。ただ、「Sheet3」を削除した後にシートを追加すると、「Sheet1」「Sheet2」「Sheet4」となります。

悩める人
悩める人
なんかちょっと気持ち悪いな!綺麗に揃えたいな!

という思いが出てきましたので、マクロで整えてみることにしました。それでは、いってみましょう!

シート名を連番で整えるサンプルマクロ

早速サンプルマクロを記載して、その後説明を書かせていただきます。

Sub sheetNameChange()
  ' 一時的にシート名を変更
  For i = 1 To Sheets.Count
    Sheet(i).Name = "Tmp" & i
  Next i

  ' シート名を変更
  For i = 1 To Sheets.Count
    Sheet(i).Name = "Sheet" & i
  Next i
End Sub

存在するシート数分ループ処理としています。シート名をシート番号Sheet(1)より、まず「Tmp1」「Tmp2」「Tmp3」…という風に一時的な名前に置き換えます。

もし既に「Sheet1」のような名前が存在した場合、名前が重複してしまい「実行時エラー'1004' この名前は既に使用されています。」とメッセージが出てマクロ処理が止まってしまうためです。

その後、「Sheet1」「Sheet2」「Sheet3」…という風に名前を書き換えます。「"Sheet"」の部分を書き換えることで、お好きなシート名になります。

例えば、「"シート名"」としたのならば、「シート名1」「シート名2」「シート名3」…というシート名になります。「"注文書"」としたのならば、「注文書1」「注文書2」「注文書3」…というシート名になります。

さいごに

いかがだったでしょうか。同じような疑問を持たれてる方の参考に少しでもなれば幸いです。

今回はシート名自体を変更するマクロサンプルの紹介でしたが、シート名ではなくシートのオブジェクト名を変更したい場合は以下の記事にまとめています。

【Excel】sheet番号を変更したい、連番にしたい、どうすれば?こんにちは、今回の記事はExcelのSheet番号を変更するにはどうすれば?という記事になります。Excelのシート名とは別に、シート番...

それでは、また!