【用語集に記載の内容について】

用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。 また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。

【コードをコピーして実行する場合の注意】

文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。

COUNTIF関数(ワークシート関数)

名称COUNTIF関数(ワークシート関数)
説明
指定した範囲内で特定の条件を満たすセルの数を数えるワークシート関数です。
書式
WorksheetFunction.CountIf(セル範囲, 条件)

セル範囲:条件を適用するセル範囲を指定
条件:カウントする条件を指定
コード例①
【条件に合致するデータの件数を表示】
Sub Macro1()
    MsgBox WorksheetFunction.CountIf(Range("A1:A4"), "リンゴ")
End Sub

COUNTIF関数で、アクティブシートのセル範囲A1:A4で、値が「リンゴ」のデータ件数を取得し、メッセージボックスに表示します。

マクロを実行すると、アクティブシートのセルの値が以下の場合、「2」のメッセージボックスが表示されます。
A
1 リンゴ
2 バナナ
3 イチゴ
4 リンゴ
コード例②
【データの存在を確認】
Sub Macro2()
    Dim cnt As Long
    
    '「メロン」のデータ件数を取得
    cnt = WorksheetFunction.CountIf(Range("A1:A4"), "メロン")
    
    If cnt = 0 Then
        MsgBox "存在しません"
    Else
        MsgBox "存在します"
    End If
End Sub

COUNTIF関数で、アクティブシートのセル範囲A1:A4で、値が「メロン」のデータ件数を取得して変数cntに格納し、データが存在するか確認します。

<変数cntの値が0の場合>
「存在しません」のメッセージボックスを表示します。

<変数cntの値が0以外の場合>
「存在します」のメッセージボックスを表示します。

マクロを実行すると、アクティブシートのセルの値が以下の場合、「存在しません」のメッセージボックスが表示されます。
A
1 リンゴ
2 バナナ
3 イチゴ
4 リンゴ
カテゴリスタンダード