左からN番目のシート名を表示するExcel VBA関数の作成
ExcelのVisual Basic for Applications(VBA)を使用して、ワークブック内の特定のシート名を表示するカスタム関数を作成する方法について説明します。
関数のコード
Function GetSheetName(Optional index As Integer = 1) As String
If index > 0 And index <= ThisWorkbook.Sheets.Count Then
GetSheetName = ThisWorkbook.Sheets(index).Name
Else
GetSheetName = "#N/A"
End If
End Function
関数の説明
この関数では、引数としてシートのインデックス(左から数えた番号)を受け取り、そのシートの名前を返します。インデックスが指定されない場合や、インデックスが1未満またはシート数を超えている場合は、エラーを示すために”#N/A”を返します。
関数の使い方
この関数を使って、例えば左から3番目のシート名を表示するには、`=GetSheetName(3)`という数式をセルに入力します。引数を指定しない場合(つまり`=GetSheetName()`と入力する場合)は、左から1番目(つまり最初)のシート名が表示されます。
もちろん引数にセルを指定することも可能です。
注意事項
このVBA関数は、ワークブックがマクロを許可する設定になっている場合にのみ機能します。また、この関数を含むワークブックは、マクロ付きワークブック(.xlsm形式)として保存する必要があります。
なお、アクティブシートの名前を表示させるならば組み込みの「CELL関数」が使用可能です。
コメント