即効テクニック |
Findメソッドを使って、指定されたセル範囲の中でテキストボックスに入力された情報を検索し、情報が見つかった最初のセルを選択します。 Findメソッドは、検索の条件にあてはまるセルが見つからなかった場合は、Nothingを返します。 フォームにテキストボックス「TextBox1」を配置して、テキストボックスの内容が変更された時に発生するイベント「Change」に次のイベントプロシージャを作成します。
Private Sub TextBox1_Change() Dim Mynumber As String Dim FoundCell As Range Range("A1").Select Mynumber = UserForm1.TextBox1.Text Set FoundCell = Cells.Find(What:=Mynumber, After:=ActiveCell, _ LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, _ MatchByte:=False) If FoundCell Is Nothing = False Then FoundCell.Select End If End Sub
Findメソッドの構文は、次のとおりです。 <構文> expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte) expression 必ず指定します。 対象となるRangeオブジェクトを表すオブジェクト式を指定します。 What 必ず指定します。 対象セル範囲内で検索するデータです。文字列など、 セル内のデータに該当する値を指定します。 After 省略可能です。 指定したセルの次から検索が開始されます。 この引数で指定するセルは、コードからではなく、通常の画面上で検索を行う場合のアクティブセルに該当します。 対象セル範囲の中の、単一セルでなければなりません。検索は指定したセルの次から始まるので、指定したセル自体は、検索が範囲全体を一度検索して戻ってくるまで検索されません。この引数を省略すると、対象セル範囲の左上端のセルが検索の開始点となります。 LookIn 省略可能です。 使用できる定数は、XlFindLookInクラスのxlFormulas、xlValues、xlCommentsのいずれかです。 LookAt 省略可能です。 使用できる定数は、XlLookAtクラスのxlPartまたはxlWholeです。 SearchOrder 省略可能です。 使用できる定数は、XlSearchOrderクラスのxlByColumnsまたはxlByRows です。 SearchDirection 省略可能です。 使用できる定数は、XlSearchDirectionクラスのxlNextまたはxlPreviousです。既定の定数はxlNextです。 MatchCase 省略可能です。 大文字と小文字を区別するには、Trueを指定します。既定値は False です。 MatchByte 省略可能です。 この引数は、2 バイト(全角)文字の言語サポートが選択またはインストールされているときだけ使用できます。半角全角を区別するには、Trueを指定します。区別しないようにするには、Falseを指定します。