Excel VBA シート名の取得

Worksheet.Name プロパティ 

Excel VBA でシートの名前を取得する場合は、WorksheetオブジェクトのNameプロパティを使用します。

取得だけでなく、シート名の変更も可能です。

使用例1:アクティブなシートのシート名を取得

Excelブックのアクティブなシートのシート名を取得します。

取得したシート名をメッセージボックスに表示します。

アクティブなシートのシート名を取得するには、ActiveSheet.Name を使用します。

Sub GetSeetName1()

    Dim sheetName As String

    sheetName = ActiveSheet.Name ‘ シート名を取得

    MsgBox sheetName

 

End Sub

実行すると、メッセージボックスにアクティブなシートのシート名が表示されます。

 

使用例2:1番目のシート名を取得

Excelブックの1番目のシート名を取得します。

取得したシート名をメッセージボックスに表示します。

シート番号を指定してシート名を取得 するには Worksheets(シート番号).Nameを使用します。

Sub GetSeetName2()

    Dim sheetName As String

    sheetName = Worksheets(1).Name ‘ シート名を取得

    MsgBox sheetName

 

End Sub

実行すると、メッセージボックスに1シート目のシート名が表示されます。

 

使用例3:全てのシート名を取得

Excelブックの全てのシート名を取得します。

取得したシート名をメッセージボックスに表示します。

全てのシート名の一覧を取得するにはFor Next 文 とWorksheets.Nameを使用します。

Sub GetSeetName3()

    Dim sheetName As String
    Dim i As Long

 

    For i = 1 To Worksheets.Count
        sheetName = sheetName + Worksheets(i).Name + vbCrLf ’シート名を取得し、文字列を連結
    Next

 

    MsgBox sheetName

End Sub

実行すると、メッセージボックスに全てのシート名が表示されます。

Worksheets.Count はExcelブックに存在するシートの個数を取得します。

 

使用例4:アクティブなシートのシート名を変更

Nameプロパティはシート名を変更することもできます。

Excelブックのアクティブなシートのシート名を変更します。

Sub GetSeetName4()

  ActiveSheet.Name = “sample” ’シート名に”sample”を設定

End Sub

実行すると、アクティブなシートのシート名が”sample”に変更されています。

使用例5:1番目のシート名を変更

Excelブックの1番目のシート名を変更します。シート名を実行日に変更します。

実行日はNow()関数を使用します。日付の書式を指定するために、Format()関数を使用します。

Sub GetSeetName4()

    Worksheets(1).Name = Format(Now(), “yyyy-mm-dd”) ’シート名に日付を設定

End Sub

実行すると、1シート目の名前が実行日の日付に変更されています。

 

まとめ

WorksheetオブジェクトのNameプロパティを使用すると、シート名の取得やシート名の変更ができます。

取得したシート名を、サンプルではメッセージボックスを表示しましたが、Excelシートに設定したり、プログラムの条件に使用することもできます。

以上、ExcelVBAでシート名を取得、変更するプログラムでした。