【VBA】Excelのシート名を変更する

VBAでExcelのシート名を変更するにはWorksheetオブジェクトのNameプロパティを利用します。

Sheet1という名前のシートがあるのでこのシートの名前をTestに変更してみます。

Sheet1シートの名前をTestに変更するコードは以下になります。

1Option Explicit
2
3Sub changeSheetName()
4
5  ThisWorkbook.Worksheets(1).Name = "Test"
6
7End Sub

コードを実行するとSheet1の名前がTestに変わります。

ファイル内に複数のシートが存在し、特定のシート名を変更したい場合はシート名をFor Each文で全部検索します

ExcelファイルにSheet1、Sheet2、Sheet3が存在します。
Sheet2の名前をTestに変更してみます。

コードは以下になります。

 1Option Explicit
 2Sub changeSheetName(wb As Workbook, beforeName As String, afterName As String)
 3'###################################################################################
 4'beforeNameに該当するシート名をafterNameに変更する
 5'###################################################################################
 6
 7  Dim ws As Worksheet
 8  For Each ws In wb.Worksheets
 9    If ws.Name = beforeName Then
10      ws.Name = afterName
11      GoTo Finally
12    End If
13  Next ws
14
15Finally:
16  Set ws = Nothing
17
18End Sub
19
20Sub test_changeSheetName()
21
22  Call changeSheetName(ThisWorkbook, "Sheet2", "Test")
23
24End Sub

test_changeSheetName Functionを実行するとchangeSheetNameを呼び出して、Sheet2をTestに名前を変更します。

関連ページ