Excelでセルの検索結果をテキストボックスに表示
先日、この内容の回答が来たのですが、いろいろテストしていたら、検索ボックスに入力して1回目は検索できるのですが、続けて次の検索をしようテキストボックスに入力してボタンを押しても以前の内容で検索されてしまいます。
どこを修正すれば良いのか教えてください。
UserForm1に、検索条件を入れるTextBox4、
該当した行のB,C,D列表示用の、TextBox1、TextBox2,TextBox3の3つ(計4つ)を設けます。
コマンドボタンを1つ(Captionは「検索・次検索」)設けます。検索・次検索ボタンです。
標準モジュールに
Public ac As Range
Public startaddr As String
変数の次ステップ(イベント)への受け渡し用です。
UserForm1のコマンドボタンのクリック・イベント・プロに
Private Sub CommandButton1_Click()
Dim r As Range
If ac Is Nothing Then
d = Range("A65536").End(xlUp).Row
With ActiveSheet.Range(Cells(1, "A"), Cells(d, "A"))
Set r = .Find(what:=TextBox4)
rr = r.Row
TextBox1.Text = Cells(rr, "B")
TextBox2.Text = Cells(rr, "C")
TextBox3.Text = Cells(rr, "D")
Set ac = r
r.Activate
MsgBox ac.Address
startaddr = ac.Address
Exit Sub
End With
Else
MsgBox ac.Address
d = Range("A65536").End(xlUp).Row
MsgBox d
With ActiveSheet.Range(Cells(1, "A"), Cells(d, "A"))
Set r = .FindNext(ac)
rr = r.Row
TextBox1.Text = Cells(rr, "B")
TextBox2.Text = Cells(rr, "C")
TextBox3.Text = Cells(rr, "D")
Set ac = r
r.Activate
If r.Address = startaddr Then TextBox1.Text = "終わり"
Exit Sub
End With
End If
End Sub
お礼
さっそくありがとうございます。教えていただいたとおりで、望み通りの動きをさせることができました。感謝です。