Excelの各シートの先頭に連番を振るVBAのサンプルコード

VBA
記事内に広告が含まれています。

シート名の先頭に連番を振るVBAのサンプルコードを紹介します。

仕様

Excelファイルの各シートの先頭に連番を振ります。

以下のようなサンプルファイルを用意してテストします。

うまくいけば以下のようにシート名が変わります。

実行前のシート名

  • A
  • B
  • C
  • D

実行後のシート名

  • 01_A
  • 02_B
  • 03_C
  • 04_D

ソースコード

シート上にはボタン等は置きません。

Visual Basic Editorを開き、ThisWorkbook上にそのまま、下記のaddSheetNumber()関数を配置しました。

ソースコード

Option Explicit
 
Sub addSheetNumber()
   
    Dim i As Long
    For i = 1 To ThisWorkbook.Worksheets.Count
        
        Dim newSheetName As String
        newSheetName = Format(i, "00") & "_" & Worksheets(i).Name
        Worksheets(i).Name = newSheetName
        
    Next
 
End Sub

実行

では上記のVBAを実行します。

実行手順

「開発」メニューから「マクロ」を選びaddSheetNumber関数を直接実行します。

実行結果

実行後、各シートのシート名の頭に連番が振られています。

欠点としてVBAで実装すると、シート名を修正した後にVBAがExcelに残ります。

出来ればPowerShellで組み込みたいですね。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows10
2ExcelExcel2016
環境一覧

以上です。