エクセルデータで編集→検索機能を使用し、

同じキーワードを含む行を検索したのですが、
画面上では、抽出一覧(例えば121件セル見つかりました)はでるのですが・・・
それを別のエクセルシートへ抽出する方法はあるのでしょうか?
おそらく、検索機能ではなく別の機能を使用すると思うのですが、
簡単な方法があれば教えてください。

回答の条件
  • 1人1回まで
  • 登録:2009/08/03 16:56:38
  • 終了:2009/08/10 17:00:02

回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/08/03 18:04:55

ポイント60pt

簡単とはいきませんが、VBAでの方法です。

>同じキーワードを含む行

ということで、行単位でキーワードが含まれるセルがある行をシートを追加して抽出するマクロです。

最初のところのKeyWordを検索する文字に変えて実行してみてください。

Sub Macro()
    '検索する文字列に変更してください
    Const KeyWord As String = "a"
    Dim ws As Worksheet
    Dim newws As Worksheet
    Dim r As Range
    Dim ro As Long
    Dim c As Long
    
    Set ws = ActiveSheet
    Set newws = Worksheets.Add
    c = 1
    For Each r In ws.UsedRange
        If InStr(1, r.Value, KeyWord) > 0 And ro <> r.Row Then
            ro = r.Row
            ws.Rows(ro).Copy (newws.Rows(c))
            c = c + 1
        End If
    Next
End Sub
id:yamanaoki

早速のご回答有難うございます。

初歩的な質問で恐縮ですが、

いただいた、数式の使用方法をもう少し分り易くご説明

いただきたくお願い申し上げます。

2009/08/04 09:50:39
  • id:SALINGER
    失礼しました。
    これはVBAというExcelのマクロです。Excelの基本機能では不可能なのでVBAを使いました。
    VBAの使い方で参考になるのはこちら。
    http://www.officepro.jp/excelvba/ini/index1.html
    http://www.officepro.jp/excelvba/ini/index2.html
    http://www.officepro.jp/excelvba/ini/index3.html
    VBEを起動して、標準モジュールを追加して、そこにコピペします。
    検索する文字はコード中は"a"となっていますので、3行目は実際の文字に変更してください。
    後は、Excelの画面からツール→マクロ→マクロから先ほどコピペしたMacroを実行させればいいです。

    それから、行単位ではなくセル単位での抽出の場合はコードを修正するのでお知らせください。
  • id:yamanaoki
    SALINGER 様


    有難うございました。
    上手く抽出できました。(感動いたしました)

    抽出したデータの保存方法はあるのでしょうか?
    怖いので元データとは別に今のところ別名で保存にしています。
  • id:SALINGER
    お返事が遅れて申し訳ありません。
    別のブックに抽出して、同じ場所に検索結果.xlsという名前で保存するように変更してみました。
    コードは見やすいようにブログにアップしておきます。
    http://d.hatena.ne.jp/SALINGER/20090805

この質問への反応(ブックマークコメント)

トラックバック

  • SALINGERの日記 2009-08-05 11:06:51
    http://q.hatena.ne.jp/1249286196 の質問の回答です。 抽出する場所を別ブックとして、データブックと同じ場所に検索結果.xlsという名前で保存するようにしました。 また、検索文字はインプット
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません