お問い合わせ
    氏名

    メールアドレス

    件名

    お問い合わせ内容



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

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

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

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

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

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

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

    0 件のコメント

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