• ベストアンサー

VBAのfindメソッドでセルの"先頭の"特定の文字のあるセルを検索したい。

下記に示すようなテキストがワークシート(Sheet1)に 貼り付けてあります。 (Sheet1) A1:第一条  この法律は平和の為にある。 A2:第二条  この法律は戦争反対。 A3:2  すごいぞ日本。 A4:第二条の二  がんばれ日本。 A5:一  第二条は多分最強。 これから、【先頭が】"第*条*" というセルのみを検索したくて 以下のようなFindメソッドを組みました。 Sheets(Sheet1").Columns(1).Find("第*条*") ところが、結果として抽出されるのは 第一条  この法律は平和の為にある。 第二条  この法律は戦争反対。 第二条の二  がんばれ日本。 一  第二条は多分最強。 と、セルの先頭以外に"第*条*"が存在するセルも検索してしまいます。 検索結果が 第一条  この法律は平和の為にある。 第二条  この法律は戦争反対。 第二条の二  がんばれ日本。 となるようにするには、Findメソッドをどのように 組めばよいのでしょうか? どなたがご指導をお願い致します。

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

  Findメソッドの引数をちゃんと設定しましょう。   Sheets(Sheet1").Columns(1).Find("第*条*", , xlValues, xlWhole) 以上。  

Na0ya
質問者

お礼

迅速な対応有難うございます。 完全一致を使えばよかったのですね。 有難う御座いました。

その他の回答 (1)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

Findを使わなくてよいなら、 Sub test2() For Each c In [A1:A5] If c.Value Like "第*条*" Then Debug.Print c.Value End If Next End Sub

Na0ya
質問者

補足

回答有難う御座います。 当案件、Findメソッドで解決しました。 Likeもいずれ使いこなしたいと思います。 以上、有難う御座いました。

関連するQ&A