- ベストアンサー
エクセルで文字を入力してフィルタをかける方法
- エクセルで文字を入力してフィルタをかける方法を解説します。初心者でも分かりやすい手順で、任意の言葉をワイルドカードで挟んでフィルタリングできます。
- 未経験者でも簡単に実行できるエクセルでのフィルタリング方法を紹介します。任意の言葉をワイルドカードで挟んでフィルタをかけることで、より柔軟なデータの検索が可能です。
- エクセルを使ってフィルタをかける方法について解説します。初心者でも簡単に実行できる手順で、任意の言葉をワイルドカードで挟んで検索することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えばCells(5,3)に「カブシキ」の文字列が入っているとしたら、 以下の形で求める結果が得られるのではないかと思います。 <現状> .Filter = "会社名カナ like '*カブシキ*'" <修正後> .Filter = "会社名カナ like '*" & Cells(5,3) & "*'" 【説明】 「カブシキ」の文字列を置き換える場合、単純にそこを 「Cells(5,3)」にしてしまえばよさそうに思ってしまいがちですが、 実際には「カブシキ」は「"」で括られた中にありますので、 これだと「Cells(5,3)」という文字列そのものがフィルタとして 渡されてしまいます。 そのため、カブシキの部分を一旦「"」の括りの外に外して 考え、 .Filter = "会社名カナ like '*" & "カブシキ" & "*'" その上で、「"カブシキ"」の部分を「Cells(5,3)」に変える、 ということになります。
その他の回答 (2)
- 30246kiku
- ベストアンサー率73% (370/504)
違う観点から ご提示のVBA記述部分は、この後どうなっていくのでしょうか。 特に myRS は、また何かで使われるのでしょうか。 ※ 使われることはない、という前提で。 ADO での曖昧部分は * ではなく % と思ってください。 (Recordset の Filter では * が使えるようですが) Recordset を Open する時点で、絞り込みします。 また、軽そうなカーソル、読み取りのみとします。 以下、見えている範囲で If Cells(5, 3).Value <> "" Then With myRS .Source = "SELECT * FROM tb顧客 WHERE 会社名カナ like '%" & Cells(5,3) & "%';" .Open , myCon, adOpenForwardOnly, adLockReadOnly Range("D9").CopyFromRecordset myRS .Close End With End If 多分、動くと思います。
- samtomsan
- ベストアンサー率55% (1060/1897)
単純に下記でできませんか。 .Filter = "会社名カナ like *" & Cell(5,3) & "*"