やりたいこと。
1.ユーザーフォームの「検索」を押したときに、テキストボックス内の値を取得。
2.セルB2(列:名前)でフィルタ(テキスト検索)した時と同じ結果が表示されている。
ユーザーフォーム上でダブルクリックします、ユーザーフォームのコードが表示されます。
▼ このように書いてみました。
Private Sub CommandButton1_Click()
ActiveSheet.Range(“A2”).AutoFilter Field:=2, Criteria1:=TextBox1.Value
End Sub
「CommandButton1」(検索ボタン)をクリックした時にA2を含むセルにオートフィルタをかけ、
「TextBox1」の値を取得して、2列目(列:名前)にフィルタをかける。
UserForm1に「CommandButton1」と「TextBox1」を追加します。
分かりやすいようにラベルも付けてみます。
ボタンを追加します。
コードをみるとこんな感じになっていると思います。
Private Sub CommandButton1_Click()
ActiveSheet.Range(“B2”).AutoFilter Field:=2, Criteria1:=TextBox1.Value
End Sub
Private Sub Label1_Click()
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Click()
End Sub
これで、「検索開始(CommandButton1_Click)」を押した時に「TextBox1」の値を取得して、B2をフィルタした時に検索をした結果が表示されると思います。
試しに、ユーザーフォームのテキストボックスに文字を入力して「検索」を押すと、
名前がフィルタされて表示されていると思います!
ちなみに、これだけでは、フィルタのテキストが完全一致しないと表示されないです!
次回は、あいまい検索でも表示できるように変えてみたいと思います!
それではまた~!ヽ(*゚ω。)ノ