|
検索ワードが3件以上ある場合、条件にヒットした行に○を付け
その○をオートフィルタにて検索し、検索ワードの行を表示
させたいと考えてます。
検索ワードは県名です。かつ入力ワードは部分検索もできるように
したいです。(三重県の場合、三重でも検索可能)
A B C D
1 複数エリア検索
2 検索ワード1
3 検索ワード2
4 検索ワード3
7 会社名 県名 郵便番号 ○チェック欄
8 XYZ株式会社 愛知県 653-0028
9 ZD株式会社 三重県 991-3352 ○
以下のようにプログラムを書いてみたのですが、○がうまく入力されず
その結果オートフィルタがうまくひっかかりません。
おかしい部分をご指摘いただけませんでしょうか?
Sub エリア複数検索()
Dim i As Long
Dim kenmei1 As String ' 県名検索条件1
Dim kenmei2 As String ' 県名検索条件2
Dim kenmei3 As String ' 県名検索条件3
kenmei1 = "*" & Cells(1, 3).Value & "*" ' 県名検索条件1入力セル
kenmei2 = "*" & Cells(2, 3).Value & "*" ' 県名検索条件2入力セル
kenmei3 = "*" & Cells(3, 3).Value & "*" ' 県名検索条件3入力セル
For i = 8 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 2) = kenmei1 Or _
Cells(i, 2) = kenmei2 Or _
Cells(i, 2) = kenmei3 Or _
Cells(i, 5) = "○" Then
End If
Next i
Range("D8:D1000").AutoFilter Field:=4, Criteria1:="○"
End Sub
|
|