プロが教えるわが家の防犯対策術!

初めまして。検索に関してわからないので宜しく御願いします。
エクセル付属の検索と同じ事をマクロで実行したいと思っています。
具体的には、”次を検索”という事をしたいです。
付属の検索でやらないのは、その前に検索範囲を自動で指定したいためです。
わかる方、いらした教えて下さい。
よろしく御願いします。一応、自分で作った物をはらせて頂きます。

Sub 検索()
If 選択 = 1 Then
検索範囲 = "C:C"
Else
検索範囲 = "D:D"
End If
With Worksheets("sheet1")
Set FoundCell = Columns(検索範囲).Find(検索キー)
If FoundCell Is Nothing Then
MsgBox 検索キー & "は見つかりません。", vbExclamation
Else
FoundCell.Select
End If
End With
End Sub
検索キーはフォームで取得しています
宜しく御願いします

A 回答 (2件)

VBE画面のヘルプでFindNextメソッドを検索してみてください。

「次へ」の検索事例が載っています。

Findメソッドで最初に見つけたセル、もしくはセルアドレスを変数に退避しておいて、FindNextメソッドで「次」を探します。退避していたアドレスと同じものが見つかったら、そこで検索は1周したことになります。
    • good
    • 0
この回答へのお礼

ヘルプを見るのを忘れていました。
ありがとうございます。

お礼日時:2007/03/24 17:37

次を検索は、


xxxxxx.FindNext
と記載します。

全てのデータを検索するなら、ファイルが見つからなくなるまで繰り返す必要があるので、 Do ~ Loop で繰り返し処理を行う必要があります。

http://www.sigoto.co.jp/excel/sample/sample04.htm
http://sunrise2001.dip.jp/coo/dismantle08.html
http://www.moug.net/tech/exvba/0050116.htm
    • good
    • 0
この回答へのお礼

検索したつもりでしたが、このようなホームページがあったのですね。
ありがとうございます。
早速、試してみます。
ありがとうございます。

お礼日時:2007/03/24 17:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!