. Excel VBA入門】Findメソッドの使い方をやさしく解説|セル検索の基本から応用まで|IT解決チャンネル
Excel VBA入門】Findメソッドの使い方をやさしく解説|セル検索の基本から応用まで|IT解決チャンネル
Excel VBA入門】Findメソッドの使い方をやさしく解説|セル検索の基本から応用まで|IT解決チャンネル

【Excel VBA入門】Findメソッドの使い方をやさしく解説|セル検索の基本から応用まで

With ws.Range(“A1:A100”) Set c = .Find(“東京”, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do Debug.Print c.Address, c.Value Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address firstAddress End If End With End Sub

FindNext で検索をループさせるのがポイント!

6. よくあるエラー・注意点

ミス例・症状 原因 解決方法 Object variable or With block variable not set 検索結果がNothingなのに使用した If Not r Is Nothing Then で判定を入れる FindNext が無限ループする firstAddress を比較していない 最初のセルのアドレスを覚えておく 大文字・小文字が一致しない MatchCase:=True を忘れている 明示的に区別させる 数値が見つからない LookIn:=xlValues にすべき LookIn の指定を明確に

7. まとめ

機能 内容 基本構文 Range.Find(What:=検索値, . ) 単一検索 見つかったセルの Address や Value が使える 全件検索 Find → FindNext を Do While でループ 注意点 Nothing チェックと firstAddress の比較が重要 主な用途 キーワード検索、値の置換、条件一致セルの取得など

✅ 実務での活用例

  • 商品名「リンゴ」の在庫セルを探して数量を変更
  • 「未処理」と書かれたセルをすべてハイライト
  • 指定の社員IDを見つけて、行全体を抽出表示

FindメソッドはVBAの検索処理で非常に重要な基本技術です。応用すれば、複数条件検索、動的範囲指定、自動化にも活用できます。

📎📎📎📎📎📎📎📎📎📎