|
▼きくと さん:
おじゃまします。
>同じ行を複数の文字列で検索してAND処理をしたいのですが
>FindとFindNextを使った場合が期待通りに動かないので質問です。
たとえば以下のようなシートレイアウトで教えてもらえませんか?
[A] [B] [C]
[1] 検索
[2] 検索
[3] 検索
[4]
[5] 検索 検索
[6] 検索
[7]
[8] 検索
[9] 検索
[10] 検索
[11]
たとえば、以下のコードを実行すると
Sub 質問()
Dim ws As Worksheet
Dim ● As Range
Dim ▲ As Range
Dim ■ As Range
Set ws = ActiveSheet
' ワークシート全体から行を取り出す。
Set ● = ws.Cells.Find("検索", LookAt:=xlWhole, _
SearchOrder:=xlByRows) '列方向(→)
●.Select
' 行方向に2つ目で検索
Set ▲ = ws.Cells.Find("検索", LookAt:=xlWhole, _
SearchOrder:=xlByColumns) '行方向(↓)
▲.Select
'次を検索
Set ■ = ws.Cells.FindNext(●) '●の次のセルの検索(↓)
■.Select
End Sub
最初にヒットするセル●は [B1]
次にヒットするセル ▲は [A5]
FindNext(●) でヒットするセル■は [B3]
です。
|
|