• ベストアンサー

EXCELで、『検索』をやりやすく!

行が400あるファイルなのですが、簡単な検索の仕方を 探してます。 いつも 『ctrl+F』でウィンドを起動して入力するのですが、 例えば、何処かのセルに検索できる関数とかは無いのでしょうか? また、マクロの設定などで何処かのセルに入力するとその行まで ジャンプできるなどの便利な機能は無いのでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんばんわ。補足を頂き有難うございます。マクロを作ってみました。次のように操作してみて下さい。 1.新規ブックを立ち上げ、ALT+F11キーを押してVBE画面を開く。 2.画面左上にあるVBEProjectと書いてある下のSheet1をダブルクリックし、開いたコードエディター(右側の白い部分)に下記のコードをコピー・ペーストする。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myRow As Long Dim myRange As Range myRow = Target.Row If Target.Address = Range("A" & myRow).Address Then If Target.Value = "" Then Exit Sub Set myRange = Range("E1:" & Cells(Rows.Count, 5).End(xlUp).Address).Find(Range("A1").Value, lookat:=xlWhole) If myRange Is Nothing Then MsgBox "入力された値は見つかりません。", vbOKOnly + vbCritical, "入 力 エ ラ ー" Target.Select Else myRange.EntireRow.Select End If End If End Sub 3.ALT+F11キーを押し、エクセルの画面に戻る。 4.E列に適当なデータを入れる。 A1に適当なデータを入れ、A2にフォーカスを移動してみて下さい。あなた様のおやりになりたいことが実現できているはずです。

myu2001
質問者

お礼

ご回答ありがとうございます! コピペで出来ました!! とても感謝してます♪ また、何かございましたら、宜しくお願い致します。

その他の回答 (3)

  • moon00
  • ベストアンサー率44% (315/712)
回答No.4

オートフィルタを使うってのはダメなんでしょうか? 該当行だけを表示になってしまうから条件にあてはまりませんか? オートフィルタを設定してE列の下向き三角を押して 「オプション」で検索したい整理番号を入力すれば、 該当行のみの表示となると思いますが。 的外れだったらすいません。

myu2001
質問者

お礼

オートフィルタや検索だと若干ですが手間が かかってしまうため もっと簡単な方法を探しておりました。。。(^^; わざわざご回答ありがとうございます。

回答No.2

はじめまして。 あなた様のおやりになりたいことは、マクロを書けば簡単に実行することができます。 もし私でよろしければサンプルマクロを作ってみたいと思いますので、ご希望の節は、あなた様のおやりになりたいことをもう少し具体的に教えて下さい。 お手数をおかけいたします。よろしくお願いいたします。

myu2001
質問者

補足

ご回答ありがとうございます! 早速ですが、お言葉に甘えさせて頂きます ^^; 具体的に書きますと、『E列』に見積書の整理番号が並んでます。 その見積書が全部で350個程あります。 E列を検索したいのですが、例えば 『A1』セルに検索したい数値 を入れて、Enterを押すと自動的にそのセルにジャンプする! と言ったマクロ作って頂きたく存じます。宜しくお願い致します。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

1つめ:セルE4に記入した単語を検索し、結果までジャンプします。 Sub Data_Find1() Cells.Find(What:=Range("e4").Value, _ After:=ActiveCell, LookIn:=xlValues).Activate End Sub 2つめ(余計な機能つき:検索結果に色がつきますが・・・このマクロではその色を消せません) Sub 健作() Dim 対象セル As Range Dim 最初のセル番地 As String Dim 検索件数 As Long Cells.Interior.ColorIndex = xlNone If Range("e4").Value = "" Then Exit Sub End If Set 対象セル = Cells.Find(what:=Range("e4").Value, _ after:=ActiveCell, LookIn:=xlValues) 最初のセル番地 = 対象セル.Address Do 対象セル.Interior.ColorIndex = 37 検索件数 = 検索件数 + 1 Set 対象セル = Cells.FindNext(対象セル) Loop While 対象セル.Address <> 最初のセル番地 MsgBox "検索結果は " & 検索件数 - 1 & " 件ですわ、オホホ" End Sub

myu2001
質問者

お礼

ご回答ありがとうございます♪ とりあえず、明日そのマクロを入力してみたいと思います。 マクロは全くの未知の世界なので、ちょっとドキドキです (笑)

関連するQ&A