教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAのWorksheetFunctionオブジェクトで使用するIndex関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.Index(配列, 行番号, [列番号])

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Index関数は、データの中から特定の値を取り出すときにとても便利な関数です。配列には、データが入っている範囲やリストを指定します。行番号には、取り出したい値が何行目にあるかを指定します。列番号(省略可能)には、取り出したい値が何列目にあるかを指定します。1次元の場合は省略できます。

プログラミング例

具体的なプログラミング例を紹介します。

Sub インデックス関数の例()
    Dim データ範囲 As Range
    Dim 結果 As Variant
    ' データ範囲をA1からC3に設定
    Set データ範囲 = Range("A1:C3")
    ' データ範囲の2行目、3列目の値を取得
    結果 = WorksheetFunction.Index(データ範囲, 2, 3)
    ' 結果をメッセージボックスで表示
    MsgBox "取り出した値は:" & 結果
End Sub

上記のプログラムは、データ範囲という変数にシート上のA1からC3までの範囲を指定します。また、Index関数を使用して、データ範囲の中の2行目・3列目の値を「結果」に代入します。最後に、MsgBoxで取り出した結果を表示します。

まとめ

Index関数を使うと、大きなデータの中からでも簡単に必要な情報を見つけることができます。