次を検索

”次を検索”というボタンを押すと、一度検出された検索ワードが、さらに他にもあるかどうか、調べることができます。

Private Sub CommandButton3_Click()

Dim Mynumber As String
Dim j As Long
Mynumber = UserForm1.TextBox1.Text
aa = ActiveSheet.Index
If Len(Mynumber) = 0 Then Exit Sub
Mynumber = "*" & Mynumber & "*"
gyo = ActiveCell.Row - 1
Worksheets(aa).Activate

For j = gyo To 2 Step -1
With Cells(j, 2)
If .Value Like Mynumber Then
.Activate
Exit Sub
End If
End With
Next j

aa = aa + 1

Do While aa <= ThisWorkbook.Worksheets.Count

Worksheets(aa).Activate

Range("B3").Select
Mynumber = UserForm1.TextBox1.Text
If Len(Mynumber) = 0 Then Exit Sub
Mynumber = "*" & Mynumber & "*" '部分一致検索
For j = Cells(3, 2).End(xlDown).Row To 2 Step -1
If j < 3 Then
aa = aa + 1
Exit For
Else
With Cells(j, 2)
If .Value Like Mynumber Then
.Activate
Exit Sub
End If
End With
End If
Next j
Loop
MsgBox "一致データはありません"
End Sub

このボタンも”OKボタン”と”CANCELボタン”同様に、オブジェクト名を確認して、プルダウンメニューを

CLICKに指定して、 上記のプログラムを入力してください。

一度、検索ワードが検出されて、その次に検出されるセルを探し出すプログラムなので

このプログラムが作動する時点で、最初に検索ワードが検出されたセルがアクティブになっているはずです。

gyo = ActiveCell.Row - 1

↑のマイナス1の部分は、検索ワードを探し始める行を、アクティブセルから1行上へ移動するため

のもので、これをつけないと、最初に検索ワードが検出された行から、再び探し始めるので、

何度でも同じ行を、該当する行として検出してしまうからです。

そのあとは、OKボタンのプログラムと同じです。

このプログラムは、”マクロの登録”などの作業は必要ありません。

以上で出来上がりです♪

 


inserted by FC2 system