
ExcelでVBAでシートの追加など色々な操作をしていると、シート名を変更したいことがあります。
シート名の変更は「Name」プロパティを使います。
< スポンサーリンク >
構文
式.Name
アクティブなシートの名前を変更します
シート名を「Sheet1」から「aiueo」に変更してみます。
VBEに次のように書き込みます。
Sub test1()
ActiveSheet.Name = “aiueo”
End Sub
書き込んだVBAを実行すると、シート名が変更されます。
サンプル
5つのシート名を連続する数値にしてみます。
Sub test2()
Dim i As Integer
For i = 1 To 5
Worksheets(i).Name = i
Next i
End Sub
※注意※
既に存在しているシート名に変更しようとするとエラーが出ます。
アクティブシートを「aiueo」のシート名に変更しようとし、同じシート名があったらメッセージを表示し、処理を終了するようにしてみます。
Sub test()
‘ワークシート用変数
Dim ws As Worksheet
‘シート名用変数
Dim str As String
str = “aiueo”
‘シートがある限り続けるループ
For Each ws In Worksheets
‘同名のシートがある場合、メッセージを表示し終了
If ws.Name = str Then
MsgBox “「” & str & “」のシート名は既にあります”
Exit Sub
End If
Next ws
‘アクティブシートのシート名を変更する
ActiveSheet.Name = str
End Sub
こんな記事も書いています