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

VBAでExcelのシート名を変更するにはWorksheetオブジェクトのNameプロパティを利用します。 Sheet1という名前のシートがあるのでこのシートの名前をTestに変更してみます。

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

Option Explicit

Sub changeSheetName()

  ThisWorkbook.Worksheets(1).Name = "Test"

End Sub

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

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

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

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

Option Explicit
Sub changeSheetName(wb As Workbook, beforeName As String, afterName As String)
'###################################################################################
'beforeNameに該当するシート名をafterNameに変更する
'###################################################################################

  Dim ws As Worksheet
  For Each ws In wb.Worksheets
    If ws.Name = beforeName Then
      ws.Name = afterName
      GoTo Finally
    End If
  Next ws

Finally:
  Set ws = Nothing

End Sub

Sub test_changeSheetName()

  Call changeSheetName(ThisWorkbook, "Sheet2", "Test")

End Sub

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

Licensed under CC BY-NC-SA 4.0
最終更新 2018年7月23日 03:04
Hugo で構築されています。
テーマ StackJimmy によって設計されています。