教えて!ExcelVBA!

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

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

構文

構文は以下の通りです。

WorksheetFunction.CountIf(範囲, 条件)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。CountIf関数は、指定された範囲内で、指定した条件に一致するセルの数を数える関数です。範囲は、数える対象のセル範囲を指定します。条件は、セルの値が満たすべき条件を文字列や数値で指定します。

プログラミング例

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

Sub セル数を数える()
    Dim セル範囲 As Range
    Dim 数値の基準 As String
    Dim 結果 As Long
    ' セル範囲を設定
    Set セル範囲 = Worksheets("Sheet1").Range("A1:A10")
    ' 数値の基準を設定
    数値の基準 = ">=10"
    ' CountIf関数で基準に合うセルを数える
    結果 = WorksheetFunction.CountIf(セル範囲, 数値の基準)
    ' 結果を表示
    MsgBox "10以上のセルの数: " & 結果
End Sub

上記のプログラムは、セル範囲にはRangeを使って対象となるセル範囲(A1:A10)を設定します。数値の基準には、>=10(10以上という意味)を設定します。WorksheetFunction.CountIfを使って、指定したセル範囲内で基準に合うセルの数を数え、その結果を結果という変数に格納します。最後に、MsgBoxを使って、数えた結果をメッセージボックスで表示します。

まとめ

CountIf関数は、条件に一致するセルの数を範囲内から抽出するのに便利です。コードの流れとしては、範囲と条件を指定し、その条件に基づいて一致するセルの数を取得します。