Vbaを使ってシート名を取得する方法(例あり)
VBA で次のメソッドを使用すると、Excel ブック内の特定のシートの名前を取得できます。
方法 1: アクティブなシートの名前を取得する
Function GetSheetName()
GetSheetName = ActiveSheet.Name
End Function
この関数はアクティブなシートの名前を返します。
方法 2: シート名を数値で取得する
Function GetSheetName(N As Integer)
GetSheetName = Sheets(N).Name
End Function
この関数は、指定したn 番目のシートの名前を返します。
次の例は、4 つのシートからなる Excel ブックで各関数を実際に使用する方法を示しています。
例 1: VBA を使用してアクティブ シートの名前を取得する
VBA で次の関数を作成して、Excel ワークブック内の現在アクティブなシートの名前を取得できます。
Function GetSheetName()
GetSheetName = ActiveSheet.Name
End Function
statsという名前のシートが現在アクティブであると仮定します。
このシートのセルE1に次の数式を入力すると、アクティブなシートの名前が返されます。
=GetSheetName()
次のスクリーンショットは、この式を実際に使用する方法を示しています。
これは現在アクティブなシートの名前であるため、この関数は統計値を返します。
例 2: VBA を使用してシート名を数値で取得する
VBA で次の関数を作成して、Excel ワークブックのn 番目のシートの名前を取得できます。
Function GetSheetName(N As Integer)
GetSheetName = Sheets(N).Name
End Function
この関数を作成したら、現在アクティブなシートのセルE1に次の数式を入力して、ワークブックの 2 番目のシートの名前を返すことができます。
=GetSheetName(2)
次のスクリーンショットは、この式を実際に使用する方法を示しています。
これはワークブックの 2 番目のシートの名前であるため、関数は値teamを返します。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: ワークブック内のシート数を数える方法
VBA: 別のブックからデータを抽出する方法
VBA: 複数行を挿入する方法