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