やりたいこと。

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をフィルタした時に検索をした結果が表示されると思います。

試しに、ユーザーフォームのテキストボックスに文字を入力して「検索」を押すと、

名前がフィルタされて表示されていると思います!

 

ちなみに、これだけでは、フィルタのテキストが完全一致しないと表示されないです!

次回は、あいまい検索でも表示できるように変えてみたいと思います!

それではまた~!ヽ(*゚ω。)ノ