会員登録(無料)
ログイン
スキルアップは今すぐこちら!▶

【EXCEL2010】[VBA]フォームを使ってフィルタ抽出をさらに便利にする方法

VBA(ブイビーエー)
この記事は約2分で読めます。

やりたいこと。

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

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

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

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

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

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

タイトルとURLをコピーしました