Sub Sample1()
Columns.Find(What:="aaa").Select
End Sub
Sub Sample2()
Range("A:B").Find(What:="aaa").Select
End Sub
Sub Sample3()
Dim RngCell As Range
Set RngCell = Range("A1").CurrentRegion.Find(What:="aaa", Lookat:=xlWhole)
If RngCell Is Nothing Then
MsgBox "Not Find"
Else
RngCell.Select
End If
Set RngCell = Nothing
End Sub
Sub Sample4()
Set myRng = Columns.Find("aaa", Lookat:=xlPart)
MsgBox myRng.Address & "の値は" & myRng.Value & "です。"
Set myRng = Nothing
End Sub
Sub Sample5()
MsgBox Cells(Range("A:Z").Find("aaa").Row, Range("A:Z").Find("aaa").Column)
End Sub
Findメソッド
データを検索し発見されたセル(Rangeオブジェクトを返します)。無い時はNothingを返します。
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
引数 LookIn、LookAt、SearchOrder、および MatchByte の設定は、このメソッドが使われるたびに保存されます。
次にこのメソッドを使うときに、これらの引数の指定を省略すると、保存された設定が使われます。
これらの引数の設定を変更すると、[検索と置換] ダイアログ ボックスに表示される設定が変わります。
また、[検索と置換] ダイアログ ボックスで設定を変更すると、保存されている設定が変わります。
このような設定の変更によって生じる問題を避けるためには、Find メソッドを使うたびに、これらの引数を明示的に指定します。
引数 定数 内容
What 検索するデータを指定
After 省略可:検索を開始するセルを指定。
指定したセル自体は、検索が範囲全体を一度検索して戻ってくるまで検索されません。
省略すると左上端から開始します。
LookIn 省略可:情報の種類を指定。
xlFormulas 数式
xlValues 値
xlComents コメント文
LookAt 省略可
xlPart 一部が一致するセルを検索
xlWhole 全てが一致するセルを検索
SearchOrder 省略可:検索の方向を指定
xlByRows 列方向
xlByColumns 行方向
SearchDirection 省略可:検索の順序を指定
xlNext 順方向
xlPrevious 逆方向
MatchCase 省略可:大文字と小文字を区別する。
True 区別する
False 区別しない
MatchByte 省略可:半角と全角を区別する
True 区別する
False 区別しない
SearchFormat 省略可:検索に書式を含める。
True 含める
False 含めない
※ SearchFormatはExcel2002以降で使用可能です。
[XL2002] 特定の書式設定を検索するために FindNext を使用すると間違ったセルが検索される
Sub Find1()
Dim c As Object
For Each c In Worksheets(1).Range("a1:a30")
If c.Value Like "aaa" Then
c.Interior.ColorIndex = 3 '赤
End If
Next c
End Sub