[[20180612080518]] 『ユーザーフォームを利用した検索』(はるき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーフォームを利用した検索』(はるき)

 以前にもご質問させていただきました。
 わからないことがありますので再度ご質問させてください。

 下記コードをユーザーフォーム内に記述しています。↓

 Private Sub CommandButton1_Click()
    Dim ret As Range, fret As Range
    Set ret = Columns("C:C").Find(ComboBox1.Text, lookat:=xlWhole)
    If Not ret Is Nothing Then
        Set fret = ret
        Do
            If Cells(ret.Row, "B").Value = TextBox1.Text Then
                ret.Activate
                Exit Sub
            End If
            Set ret = Columns("C:C").FindNext(ret)
        Loop While ret.AddressLocal <> fret.AddressLocal
    End If
    MsgBox "該当する項目はありません。"vbOKOnly, "検索結果"

 End Sub

 B列でTextBox1の条件にあう場合は、指定のセルへ移動しますが、仮にB列に同じ条件のものが複数ある場合は、どのようにしたらいいですか?

 希望としては、検索結果として、"○○件"と表示しエンターで該当する箇所へ移動できればいいと思っています。
 もちろん他に方法があれば、ご教示いただけたらと思います。

 よろしくお願いいたします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 >検索結果として、"○○件"と表示しエンターで該当する箇所へ移動できればいいと思っています。
複数見つかったことが前提なのに、
どれに移動するつもりなのですか?
まずは手動と同じように、
一覧を表示してその中から選択して、ダブルクリックでそのセルを選択するイメージではどうでしょう?

そもそも理解されているかどうか解りませんが、
Findメソッドは手動の操作で言う、「検索」の機能です。
「全て検索」で検索してみて、どのような挙動をさせるのが便利かイメージして、
そのうえで、もう一回、どういった時に、どうしたいのか説明してみましょう。
(まっつわん) 2018/06/12(火) 08:26


 ご回答ありがとうございます。
 まず、当方はVBについてはまったくの素人です。ネット等で分からないことを検索し作成を行なっています。
 回答の中に一覧を表示してその中から選択して、ダブルクリックでそのセルを選択するイメージではどうでしょう?
 可能であれば、上記内容で行えたらと思います。
(はるき) 2018/06/12(火) 09:13

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.