Vba: 特定のテキストを含むセルを数える方法


VBA を使用して、次の基本構文を使用して、特定のテキストを含む範囲内のセルの数をカウントできます。

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

この特定の例では、範囲A2:A13内で「avs」を含むセルの数をカウントし、その結果をセルD2に割り当てます。

: アスタリスク ( * ) は、 Countif関数でワイルドカードとして使用されます。

代わりにメッセージ ボックス内のセルの数を表示したい場合は、次の構文を使用できます。

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
    cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), "* avs* ")
    
    'Display the result
    MsgBox "Cells that contain avs : " & cellCount
End Sub

次の例は、さまざまなバスケットボール選手に関する情報が含まれる Excel の次のデータセットを使用して、これらの各メソッドを実際に使用する方法を示しています。

例 1: VBA を使用して特定のテキストを含むセルをカウントし、結果をセルに表示する

チーム名に「avs」を含むセルの数をカウントし、その結果を特定のセルに表示するとします。

これを行うには、次のマクロを作成できます。

 SubCountCellsWithText ()
    Range(" D2 ") = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
End Sub

このマクロを実行すると、次の出力が表示されます。

セルD2に値5が含まれていることに注意してください。

これは、範囲A2:A13にチーム名に「avs」を含むセルが 5 つあることを示しています。

例 2: VBA を使用して特定のテキストを含むセルをカウントし、結果をメッセージ ボックスに表示する

代わりに、 「avs」を含むセルの数をカウントし、結果をメッセージ ボックスに表示するとします。

これを行うには、次のマクロを作成できます。

 SubCountCellsWithText ()

    Dim cellCount As Integer
    
    'Calculate number of cells that contain 'avs'
cellCount = WorksheetFunction.CountIf(Range(" A2:A13 "), " *avs* ")
    
    'Display the result
MsgBox "Cells that contain avs : " & cellCount
End Sub

このマクロを実行すると、次の出力が表示されます。

メッセージ ボックスは、チーム名に「avs」を含むセルが5 つあることを示しています。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: 「セルに次の値が含まれている場合」の簡単な数式
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です