サイトについて      連絡先   検索

VBA シートの名前を変更する

はじめに

Excel VBA マクロのシートの名前を変更する方法を紹介します。

Sheets.Name プロパティか Worksheets.Name プロパティでシートの名前を取得または変更できます。

ワークブックを指定できます。

  • 目次
    • シートの名前を変更する
    • シートの名前を取得する

シートの名前を変更する

sheet1

Sheets の引数にインデックスかシート名を指定すると、そのシートの名前を変更できます。

1 番目のシートの名前を変更するにはSheets(1).Name = "名前"またはWorksheets(1).Name = "名前"のように入力します。1 番左のシートが 1 です。


Sheets(1).Name = "名前"        ' 1 番目のシートの名前を変更
Sheets("Sheet1").Name = "名前" ' シート「Sheet1」の名前を変更

Worksheets(1).Name = "名前"        ' 1 番目のシートの名前を変更
Worksheets("Sheet1").Name = "名前" ' シート「Sheet1」の名前を変更
2

Sheets と Worksheets の違いはワークシート以外を取得するかどうかです。

別のワークブックを変更

Workbooks の引数にインデックスかブック名を指定すると、そのブックのシートの名前を変更できます。

ブック名「Book2.xlsx」のブックの名前を変更するにはWorkbooks("Book2.xlsx").SheetsまたはWorkbooks("Book2.xlsx").Worksheetsのように入力します。


' ブック「Book2.xlsx」のシート「Sheet1」の名前を変更
Workbooks("Book2.xlsx").Sheets("Sheet1").Name = "名前"

' 2 番目のブックの 2 番目のシートの名前を変更
Workbooks(2).Sheets(2).Name = "名前"

シートの名前を取得する

変更するのと同じ Name プロパティからシートの名前を取得できます。


Dim s As String
s = Sheets(1).Name        ' 1 番目のシートの名前を取得
s = Sheets("Sheet1").Name ' シート「Sheet1」の名前を取得

s = Worksheets(1).Name        ' 1 番目のシートの名前を取得
s = Worksheets("Sheet1").Name ' シート「Sheet1」の名前を取得
Debug.Print(s)
  • 目次
    • シートの名前を変更する
    • シートの名前を取得する