システムwiki

フィルタリング検索ボックスを作成します-より多くの質問

Brian_R 解決済 最終更新日:2021-06-14 16:58

次のリンクで投稿/回答された古い質問にフォローアップしています(現在は返信のために閉鎖).

フィルタリング検索ボックスを作成します

私は探していて、私が建物の検索ツールのための解決策を見つけるために複数のVBAコードを使って働いています、そして、これは非常に単純だったと同じくらいよく働くようでした.私の問題は、スレッドとの説明に従って働くようにそれを作ることができないようです
解決したワークブックの例へのリンクはもうアクティブではなく、違いに対して表示できません.

スレッドを正しく理解した場合、ユーザーは検索基準が入力されているテキストボックスを持ちます. 基準を検索するための列を定義する2(またはそれ以上)オプションボタン.ただし、テストでは、検索範囲として1つの列(COL C)を選択するだけです.
列のタイトル、ボタン名などの.他のすべてが意図/記載されているように機能します.列の選択肢を除く.

最終的には、このコードは検索ツールの一部になります.私はVBAにとって比較的新しいですが、より知識的に述べるように努力しています
試行錯誤/捜査、それで私がここで見落とされたものがあるかもしれません.コードを読んだように...オプションボタンの名前を探していて、どちらが選択されているか、その名前を見つけて、同じ検索を実行します.
カラム; ただし、列見出しにRNGFILTHEDを設定しているようです.

Brian Richter

返信リスト(回答:8)

7 #
Scottge

こんにちはブライアン、
私が直接あなたの質問に答えるつもりはないと言って私の反応を序論させましょう.私が提案しようとしているのは代替案です.あなたがExcelにコミットしていて代替案には興味がない場合は、今すぐ読むのをやめることができます.
データを検索することは、スプレッドシート関数よりもデータベース機能です.Excelは素晴らしいスプレッドシートですが、データベースとして平均してください.必要に応じて、アクセスのようなTrue Databaseを使用することを検討することをお勧めします.
データを管理するには.アクセス内の検索フォームを構築するのに最適なものの1つである次の記事を指摘するつもりです. https://allenbrowne.com/ser-62.html.
私はあなたがこれが役に立つと思うことを願っていますが、私があなたの時間を無駄にしたならば、私は謝罪します.

応答7# ->にスキップ
6 #
Brian

Scottgem、クイックレスポンスをありがとうございました!

あなたの質問に答えるために、私はいつも新しい解決策を学びそして見つけることに興味があります...だからあなたは間違いなく私の時間を無駄にしません.私は過去のアクセスを演じて、それを利用可能にしているので、解決策としてそれを見ることに反対していません.なので
事実の問題は、私がExcelでやってきたことのいくつかは最近私が熟考しました...「アクセスを再検討する時が来たのだろうか」.

私が今VBAコードを見ている理由(右または間違った)は2つの理由です:

  1. 私が建物の道具は、「組織内で」(組織内)の配布を目的としています.それは「さまざまな」(正当な理由ではありません、私は知っていますが、現実)です.
  2. これを通して自己学習を通して、私の複雑な数式が複数のインデックス/マッチ/ottif/xhick/find/array/countif/allif/countif/countif/countif/countif/countif/countif/countif/countif/countifを遅くしている範囲で、熟練している...etc/etc/etc計算アクセスと同様に、私は
    過去にVBAでプレイしました. だから私はそれがアクセスを理解するのに有益だと思うように、私はそれがアクセスを理解することが有益だと思うように、私はそれが私はこれがアクセスを理解することが有益であると思います(これは何ですか?).
  3. だから私は間違いなくリンクに従って、私の頭の中のビジョンがアクセスに適しているのかどうかを確認するためにいくつかの読書をします...もしそうなら、私はトンの質問で戻ってきます:)

    br

応答6# ->にスキップ
5 #
Scottge

こんにちはブライアン、
Allen Browneの検索の例を見つけやすく、非常に強力で柔軟になるようになると思います.そして、はい、人々がExcelの限られたデータ管理機能を成長させるチップポイントがあります.
私は人々が技術以外のSavvyユーザーとアクセスの複雑さについて言うのを聞いたことがあります.しかし、それは本当に適用されません.なぜ説明しましょう.アクセスは開発プラットフォームです.そのため、C#、Java、またはプログラミング言語でのプログラミングとは大きく異なります.
オブジェクトモデルのためにただたくさん簡単になります.ユーザーはそれに書かれたプログラムを使用するためにC#を知っている必要もありません.彼らは毎日それをします.簡単なApplicationを作成するための開発者のアップ
使用するユーザーが.私は100人以上のユーザーの会社のために開発します.ほとんどの場合、アクセスについて何も知らないが、私が小さなトレーニングで構築するアプリを使って問題はほとんどありません.
あなたは私のブログの記事を見つけるかもしれません、2007年にあなたを抑止させないでください、それ以来、VBAは変更されていません.
あなたが必要な質問をしてください.
乾杯、

8 #
Andreas

www.dropbox.comのようなオンラインファイルホスターでファイル(多分匿名データで)アップロードして、ここにダウンロードリンクを投稿してください.
選択したセル内のデータを匿名化するマクロをここでダウンロードできます.
https://www.dropbox.com/s/rkfxuh85j5wyj9y/modan...
あなたのファイルが表示されたときにあなたのための解決策を見つけることが私たちがはるかに簡単です.
アンドレアス.

応答8# ->にスキップ
4 #
Brian

andreas、

素早い対応に感謝致します!私はこの質問が来たことを知っていました:)

私はこのコミュニティでファイルをアップロードするための機能を見ませんでしたので、最初にそこに質問を投げると思いました.私はそれを私の1つのドライバアカウントに投稿しました:

私がこのコードについて好きなもの...それは特定の範囲に頼らなかった.現在のコードを持つ唯一の落とし穴(列以外の列以外)は、検索文字列がテキストと同じくらい簡単に機能しないことです.Iを入力した場合
数値789たとえば、テキストに含まれている "789"で行を返します. 真の番号789を返すためには、検索文字列はアポストロフィの予約(すなわち、 '789')を予約する必要があります.この反復は他の789を無視しますが.
テキストボックスにたった789で両方の行を返すのがうれしいです.

br

応答4# ->にスキップ
3 #
Andreas 1

1台のドライバが機能しませんでした:
https://www.dropbox.com/s/jaxe8ev7fygnheh/onedr...
次回は別のファイルhosterを使用してください.
私はデータを見て、このファイルの概念は少し異なっていますが、あなたのすべてのあなたの必要なものはオートフィルタの入力として行1を予約することです.
https://www.dropbox.com/s/7i9l7c7tw14ls6s/autof...
ワークシートからファイルをファイルにコピーすることができ、変更を加える必要はありません.
アンドレアス.

応答3# ->にスキップ
1 #
Brian

andreas、

私はあなたが提供したコードを使って私のファイルの作業に戻ることができました、そしてあなたのコードに必要な小さな修正(部分的な一致と数字を返す)を作成することができました. それは素晴らしく働いています.

また、私はあなたが提供したコードに基づいて、最終的な形を望んでいたものについてビジョンを修正しました.私は私のビジョンに合うようにあなたのコードを修正しようとしていることに立ち往生していましたが、いくつかの考えの後...それはずっと良いでした
この特定のプロジェクトのテキストボックスとオプションボタンを削除するための解決策.

だから私はちょうど助けてくれてありがとう、そして私が私の元の投稿を「答え」としてマークしたと言いました.

br

応答3# ->にスキップ
2 #
Brian

andreas、

私はあなたが提供したサンプルファイルのコードを見ていました、そして、はい、それは非常に単純に見えます. ただし、作業しているファイルに適用されている場合は、いくつかの欠点があります.特に番号を検索する機能(追加のテキストの有無にかかわらず)
文字列内に、部分的な一致に対して「*」を使用する要件.

私はDropboxを作成し、そこでサンプルファイルをロードしました、うまくいけば、これは私が構築しようとしているものをより完全に見てください.私の最後の目標は、複数のテキストボックス(最大3つ)を持つことに、それぞれ2-3オプションボタンを検索する列を示します.
で.フィルタを「スタック」できるようになりたいです. 意味説明1列を1次のテキストボックスを使用してより小さなサブセットにフィルタリングした場合、2次のテキストボックスに基準を追加し、一致するだけの小さいサブセットを返します.
両方の基準

当然のことながらこれらの追加はより複雑なコードを必要とするので、私がこの特定のコードが意図したように私の列を選択していない理由を理解しようとしている理由です.私がこのコードの作業をすることができれば...それから私は追加を含むようにコードに取り組むことができます
機能性

リンク:テスト req5.xlsm?dl= 0

br