
エクセルのシートにテキストボックスとコマンドボタンを配置してシート上のデータを検索することは可能でしょうか?今現在はB列に、複数の文字データが入力してあるので、オートフィルタのオプションから「を含む」で検索してます。
イメージとしては、オートフィルタのオプションから「を含む」を選んでから検索しなくても予めシートに用意してあるテキストボックスに検索したい文字を入れてボタンを押すと、オートフィルタで検索したときと同じような結果が得られるようにしたいと思ってます。
例)
A B C
--------------
1 血液型
2 A
3 B
4 O
5 AB
上のような表があったとして、テキストボックスにAと入力してボタンを押すとB2とB5が表示されるようにしたと思ってます。いい方法があればご教示願います。
No.1ベストアンサー
- 回答日時:
シートにテキストボックス1個、コマンドボタン2個を配置します。
これは出来ますね。
コマンドボタン1個目は検索ボタン、2個目は解除ボタンです。
ツール→マクロ→Visual Basic Editorを選択して
シートに以下のコードを貼り付ける。
------------------ ここから下 ----------------------
Option Explicit
Private Sub CommandButton1_Click()
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:="=*" & TextBox1.Value & "*", Operator:=xlAnd
End Sub
Private Sub CommandButton2_Click()
Selection.AutoFilter
End Sub
---------------- ここまで ------------------
エクセル2000です。
機能は「を含む」です。つまり文字列のどこにでもテキストボックスに入力した文字が含む行を表示します。
ではでは
No.3
- 回答日時:
例の場合ですと、
検索する列の見出しと抽出条件(Aを含むで検索する場合は<A>と入力)を作成します。
↓こんな感じです。
B
-
<A>
A B C
--------------
1 血液型
2 A
3 B
4 O
5 AB
この状態でデータ→フィルタ→フィルタオプションでそれぞれの範囲を指定すればB2とB5が抽出されるハズです。
これは条件がいくつも指定できるので便利ですよ。
同じ表を使用してマクロを組むとこんな感じです。なお範囲選択画面でESCキーを押すとフィルタが解除されるようになってます。
Sub AdvancedFilter()
Dim mtRange As Range, jkRange As Range
On Error GoTo S1
Set mtRange = Application.InputBox("抽出元範囲を選択してください", Type:=8)
ActiveCell.Select
Set jkRange = Application.InputBox("条件範囲を選択してください", Type:=8)
mtRange.AdvancedFilter Action:=xlFilterInPlace, Criteriarange:=jkRange
GoTo S2
S1:
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
S2:
End Sub
多少わかりにくいと思うので不明点があればまた質問してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) WordのVBAについて 5 2023/01/11 14:38
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) 【エクセル】COUNTIFの検索条件が可変する数字の場合の数式 1 2022/09/27 15:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセル関数で、数字の入った...
-
エクセルで隔週をもとめる
-
オートフィルタで選択したデー...
-
EXCEL VBAで条件付き保護について
-
エクセルにて、フィルタをかけ...
-
エクセルで30万行から特定の行...
-
エクセルの偶数行(奇数行)の抽出
-
EXCELで
-
オートフィルタで3つ以上の条...
-
オートフィルタで未入力(空白...
-
エクセルのオートフィルタで抽...
-
オートフィルタで選択した項目...
-
【EXCEL】条件に一致した最新デ...
-
オートフィルタは金額の桁カン...
-
エクセル2003 重複削除方法
-
【excel】リスト内の条件にあっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセル関数で、数字の入った...
-
エクセルの偶数行(奇数行)の抽出
-
access マクロでのフィルタの...
-
エクセルにて、フィルタをかけ...
-
Excel共有ブックのオートフィル...
-
オートフィルタで3つ以上の条...
-
オートフィルタは金額の桁カン...
-
データの抽出を教えてください
-
エクセルで隔週をもとめる
-
可視セルを対象としたcountifが...
-
エクセル、オートフィルタで最...
-
オートフィルタで未入力(空白...
-
オートフィルタを見出し行選択...
-
Excelで文字を入力と自動的にフ...
-
Excel2003 オートフィルタで「...
-
なぜShowAllDataだとうまく行か...
おすすめ情報