Excel VBA シート名を変更する-Name

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

シート名

 

注意

既に存在しているシート名に変更しようとするとエラーが出ます。

シート名

シート名

 

同じシート名があったらメッセージを表示し、処理を終了するようにしてみます。

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

シート名

シート名

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ