- ベストアンサー
マクロで検索するには
エクセルで、何行もデータが入ったリストを作成しています。 あるセルに入れた文字を含む行だけを表示するようなマクロを設定したいです。ちょうど検索窓をつくるようなイメージです。 表示の仕方は、フィルタで「~を含む」をしたような感じにしたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A2セルに空白セルが必要になりますが Sub Macro1() ken = Range("A1").Value Range("A3").AutoFilter Field:=1, Criteria1:="=*" & ken & "*", Operator:=xlAnd End Sub オートフィルターをマクロにしました
その他の回答 (2)
- hige_082
- ベストアンサー率50% (379/747)
よく解りませんし データは何処に・・・Sheet1とかAAシートなど、A列1行目からとかA1:C10など 結果は何処へ・・・? 抽象的過ぎて回答のしようがありません 参考になりそうなサンプルだけ提示しておきます Sub test() Dim i As Long Dim a As String a = "検索文字列" Worksheets("sheet1").Select For i = 1 To Range("a65536").End(xlUp).Row If InStr(1, Cells(i, 1).Value, a) > 0 Then Worksheets("sheet2").Range("a65336").End(xlUp).Offset(1, 0).Value = _ Worksheets("sheet2").Cells(i, 1).Value End If Next i End Sub Sheet1のA列を1行目から順番に、検索文字列と比較し 含まれていれば Sheet2のA列2行目以降に書き出す 参考になればどうぞ アレンジはご自分で
補足
ありがとうございます。 説明不足で申し訳ございません。 下記のように3行目以降にデータが入っていて、A2にフィルタを設定しています。A1に「東京」と入れてマクロを実行するとフィルタで「東京」を含む行が表示されるようにしたいのですが、マクロではフィルタは使えないのでしょうか。 A 1検索 2地名 3東京都北区 4大阪府大阪市 5愛知県名古屋市 6東京都港区 ・ ・ ・
- web2525
- ベストアンサー率42% (1219/2850)
マクロでなく関数のみでも検索できます。 http://oshiete1.goo.ne.jp/qa4615849.html 参考までに。 マクロを組むよりは分りやすいと思うのですが。
お礼
ありがとうございます。できました!