教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

WorksheetFunction.Large(配列, 順位)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Large(配列, 順位)は、配列の中から指定した順位にある大きい値を取得します。配列は、数値が折りたたまれた範囲や配列を指定します。順位は、配列の中で何番目に大きい値を取得したいかを指定します。

プログラミング例

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

Sub 大きい値を取得する()
    Dim 数値範囲 As Range
    Dim 結果 As Double
    Dim 大きい値の順位 As Integer
    ' 範囲を設定
    Set 数値範囲 = Range("A1:A5")
    ' 大きい値の順位を指定
    大きい値の順位 = 2
    ' Large関数を使って2番目に大きい値を取得
    結果 = WorksheetFunction.Large(数値範囲, 大きい値の順位)
    ' 結果を表示
    MsgBox "2番目に大きい値は " & 結果 & " です。"
End Sub

上記のプログラムは、数値範囲という変数にセル範囲(A1:A5)を指定し、この範囲内から値を取得します。大きい値の順位には、何番目に大きい値を取得するかを指定します。この例では「2」を指定しています。最後に、MsgBox結果を表示します。「2番目に大きい値はXXです」とメッセージが出ます。

まとめ

Large関数は、指定された範囲や配列から指定した順位の大きい値を取得するために使います。小数点のデータも問題なく処理できますが、配列が空や範囲内に数値がない場合、エラーになることに注意が必要です。