プロが教えるわが家の防犯対策術!

画像のようにテキストボックスに文字列を入れて検索ボタンを押すと
該当行に飛んで行に色を付けたい場合、どのようにしらたよいでしょうか?
ご教授お願いいたします。

「対象文字列の行に飛んで色をつけたい」の質問画像

質問者からの補足コメント

  • 補足です。
    入力した文字列の一部でも一致した場合、該当行に飛んでいくようにします。
    また検索ボタンを次々押した場合、他の行に該当する文字列の一部がある場合にも
    次々に該当行に飛んでいくようにしたいです。

      補足日時:2016/12/28 00:44
  • すみません。
    検索される文字列の対象はA列のみとします。
    他の列は検索しないものとします。

      補足日時:2016/12/28 07:45

A 回答 (1件)

「マクロの記録」機能を使って、文字検索&背景色の設定を記録し、それを検索ボタンのクリックイベントに張り付ければ、骨組みは出来上がりです。


手を加えなければならないのは、Whatオプションの検索文字列をテキストボックスの入力内容にすることくらいです。たぶん、次のような指定になると思います。

What:=TextBox1.Text

ただし、テキストボックスが未入力だったり、文字が見つからない場合などを考慮しないと、おかしな動きになります。最終的には次のようなVBAになると思います。

Private Sub CommandButton1_Click()
Dim r As Range
If TextBox1.Text = "" Then
MsgBox "検索する文字を入力してください。"
Exit Sub
End If
Set r = Cells.Find(What:=TextBox1.Text, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False)
If r Is Nothing Then
MsgBox "該当するセルが見つかりません。"
Else
r.Activate
r.Interior.Color = 255
End If
End Sub
    • good
    • 0
この回答へのお礼

連絡が遅くなり申訳ありません。
動作は完璧でした。勉強になりました。
ありがとうございました。

お礼日時:2017/01/05 19:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!