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でシート名を取得、変更するプログラムでした。