次を検索
”次を検索”というボタンを押すと、一度検出された検索ワードが、さらに他にもあるかどうか、調べることができます。
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ボタンのプログラムと同じです。
このプログラムは、”マクロの登録”などの作業は必要ありません。
以上で出来上がりです♪