メインコンテンツへスキップ
【VBA】Excelのシート名を変更する

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

·1 分
Programming VBA
かずさプログラマー
著者
かずさプログラマー
業務の作業自動化を行っています。Go、VBA、Pythonを主に使用しています。過去にはC#、VB.Net、JavaScriptも使用していました。

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に名前を変更します。

関連記事

VBAでExcelの表示倍率を変更
·1 分
Programming VBA
VBAで配列の長さを指定するのに変数を使う方法
·1 分
Programming VBA
VBAで配列から重複している要素を削除する
·2 分
Programming VBA