VBA初心者です。A列内からのみ対象を探したいのですが、無い場合に他の列へ飛んで探してしまいます。(シート内全部で検索)どのようにすればよろしいでしょうか。

VBA初心者です。A列内からのみ対象を探したいのですが、無い場合に他の列へ飛んで探してしまいます。(シート内全部で検索)どのようにすればよろしいでしょうか。 Columns("A:A").Select Dim F As Range Set F = Cells.Find(What:=ComboBox2, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) If F Is Nothing Then MsgBox "対象者は見つかりませんでした。" Else F.Activate End if

Office系ソフトウェア3,436閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

このベストアンサーは投票で選ばれました

0

ID非公開

2007/11/1 1:02

Findメソッドの対象が、Cellsになっているから全てのセルから検索されるんですよ。 Set F = Selection.Find(What:=ComboBox2, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) とするか、あるいは Set F = Columns("A:A").Find(What:=ComboBox2, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) とすれば、お望みの結果となるのでは?

その他の回答(1件)

0

xlPart なら? Dim F As Variant  Set F = Columns("A:A").Find(ComboBox2) If F Is Nothing Then  MsgBox "対象者は見つかりませんでした。" Else  F.Activate End If