シート名の先頭に連番を振る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. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | Excel | Excel2016 |
以上です。