画像のように手作業で検索した場合、下に検索結果の個数が表示されますが
これをVBA内で取得することは可能でしょうか?
マクロの記録だと
Sub Macro()
Cells.Find(What:="a", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
End Sub
となるのですが、最後に全部の個数を取得したいです。
No.2ベストアンサー
- 回答日時:
Find メソッドを使いつつ、数えるのとセル選択をさせる場合の例。
VBA のヘルプで Range.Find メソッドを見ると、「同じ検索を繰り返すときは、FindNext メソッドおよび FindPrevious メソッドを使用します。」と載っています。「および」というか「または」のつもりだと思いますが。FindNext を実行するたびに、カウンターを増やしていけばいいです。
なお Find メソッドでは検索対象が見付からなかった場合に、セル番地を求めようなどとすると、マクロがエラーになってしまいます。そのため一旦、検索されたセルを変数に代入し、それが Nothing か否かを確認するのがよいと思います。
Sub Macro()
Dim c As Range
Dim fst_add As String, other_add As String
Dim cnt As Long
Set c = Cells.Find(What:="a", After:=ActiveCell, MatchByte:=False)
If c Is Nothing Then
MsgBox 0 & "セルが見つかりました"
Exit Sub
End If
fst_add = c.Address
Do Until other_add = fst_add
Set c = Cells.FindNext(c)
other_add = c.Address
cnt = cnt + 1
Loop
c.Select
MsgBox cnt & "セルが見つかりました"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
マスターページからコンテンツ...
-
コマンドプロンプト実行後に画...
-
エクセルVBAにおけるON TIMEメ...
-
ウィンドウを最前面にできません
-
エクセルのvbaによる書式のコピ...
-
VBPをダブルクリックするとたま...
-
列挙型:次の要素を返す?
-
【sendkeysメソッドが動かずに...
-
[objective-c]他クラスのメソッ...
-
(String args[])というメッソ...
-
Labelコントロールに数字を代入...
-
Java初心者です。どうか教えて...
-
エクセルのマクロでプリンタを...
-
Application.Wait の参照設定
-
onClickで関数呼出し後に、結果...
-
CALLされていないメソッドを見...
-
PDFファイルから別ウィンドウで...
-
java 飾子を付けること(public...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
エクセルVBAにおけるON TIMEメ...
-
javascriptからjavaを呼び出したい
-
mainメソッドのthrows節で設定...
-
Refreshメソッドの使い方
-
配列のメソッド
-
VBPをダブルクリックするとたま...
-
final修飾子を使っているのに、...
-
ウィンドウを最前面にできません
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
Excel VBA でExcelを終了したい...
-
VB.netで、シリアル通信のタイ...
-
Application.Wait の参照設定
-
Excel VBA シェイプの原型のサ...
-
onClickで関数呼出し後に、結果...
-
drawStringで文字間隔の調整
おすすめ情報