• ベストアンサー

VBAで一致するセルの個数を取得するには

シートの指定した範囲のセルから、たとえば「休日」という言葉が入っているセルを数えて、その個数を返す記述はどのようにすればよいのでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 ワークシート関数のCOUNTIFを、VBAで使用してはどうでしょうか。 ワークシート関数をVBAで使用するには、WorksheetFunctionオブジェクトを使用します。 WorksheetFunction.CountIf(Selection, "*休日*") で、範囲(Selection)内の「休日」を含むセルの数をカウント出来ます。 なお「*」はワイルドカードで、付け方で、前方一致、後方一致、完全一致などに出来ます。

noname#7765
質問者

お礼

そういったものもあるんですね~。 ご丁寧にありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

標準モジュールに下記を貼りつけ Function cnt(a) n = 0 For Each cl In a If cl = "休日" Then n = n + 1 End If Next cnt = n End Function 答えを出すセルへ=CNT(A1:D10)などと入れてください。

noname#7765
質問者

お礼

セルに直接反映させるにはこの方法が一番よさそうです。自分で For Next と If文 でなんとかつくってみたのですが、その場合コマンドボタンなどを押して初めて所定のセルに反映されるので、用途にあわせて使い分けてみます。どうもありがとうございました。

noname#7749
noname#7749
回答No.1

COUNTIF関数

noname#7765
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう