dポイントプレゼントキャンペーン実施中!

【Excel2010】検索窓もしくは特定のセルに入力した、文字を含む行を抽出したいです。
過去の同様の問合せを拝見いたしましたが、解決に至りませんでした。

以下のようなデータがあったとしてE列を参照して
特定の文字列を含む行を抽出して、一覧で表示させたいと思います。
フィルター(オートフィルター機能)では無く、
検索窓等を利用して直接入力によって抽出したいのですが可能でしょうか?

例:ジュースと入力すると2・4・5行目が抽出される。
ーーーーーーーーーーーーーーーーーーーーー
  A   B   C   D    E  
1 分類1 分類2 分類3 分類4  詳細5
2 赤   縦   左   中  ジュースあ
3 黒   縦   右   大  フードあ 
4 赤   横   左   小  あジュース
5 黄   横   右   大  ジュースい



1000
ーーーーーーーーーーーーーーーーーーーーーー
マクロの使用の可否は問いません。
申し訳ございませんが、よろしくお願いいたします。

質問者からの補足コメント

  • 説明不足で申し訳ございません。
    フィルターオプションについて、確認しました。

    (私ではない)使用者に、できるだけ分かりやすく使用いただくうえで
    「文字列入力」→「Enterかワンクリック」のみで完結するようにしたいのですが
    フィルターオプションで実現可能でしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/10/19 15:15

A 回答 (3件)

こんにちは!



VBAになりますが、一例です。
もとデータはSheet1にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
 Dim i As Long
 Dim myStr As String
 Dim myRng As Range
 Dim wS As Worksheet

  Set wS = Worksheets("Sheet2")
   wS.Cells.ClearContents
    myStr = Application.InputBox("検索文字を入力")
     With Worksheets("Sheet1")
      Set myRng = .Range("E1")
       For i = 2 To .Cells(Rows.Count, "E").End(xlUp).Row
        If InStr(.Cells(i, "E"), myStr) > 0 Then
         Set myRng = Union(myRng, .Cells(i, "E"))
        End If
       Next i
      myRng.EntireRow.Copy wS.Range("A1")
     End With
      wS.Activate
End Sub

>使用者に、できるだけ分かりやすく使用いただくうえで・・・
というコトですが、
Alt+F8キーの操作(マクロ実行の操作)が必要になってきます、
それでも大丈夫でしょうかね?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。思っているものができました!!

お礼日時:2020/10/20 11:23

>「文字列入力」→「Enterかワンクリック」のみで完結するようにしたい



きちんと、どこをクリックするかを指示しておけば毎回やるなら3クリックくらいでできると思いますが、手順をマクロ記録などにして後は少し手を加えて運用されている方もいらっしゃるようです。
私は自分ではマクロにしてないので詳細は回答できかねますが。

既にマクロでの回答がついてますのでボタンを作るなりしてそちらで対応されては?
    • good
    • 0
この回答へのお礼

ボタン作りました。さらに分かりやすくなりました。ありがとうございました。

お礼日時:2020/10/20 11:23

>フィルター(オートフィルター機能)では無く



フィルタオプションではどうですか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!