エクセルで複数文字列を一括検索してマクロで表示。
件名どおりなのですが、エクセルで7000程度の文字列から20程度を
マクロで一括検索して別のセルかシートに表示させたいのです。
参考にした作業は以下の回答例。
http://okwave.jp/qa/q4859029.html
==以下、コピペ===
No.2
回答日時:2009/04/07 10:13
.
複雑ではないマクロはどうでしょう?
A1セルからA50セルまでの各セルにそれぞれ検索したい文字があるとします。
検索したい範囲を選択した上で下記のマクロを実行してみてください。
Sub 連続検索()
For Each r In Range("A1:A50") '指定の各検索文字につき
Set c = Selection.Find(What:=r.Value, LookAt:=xlPart) '選択範囲を検索
If Not c Is Nothing Then 'あったら
fAd = c.Address 'セル番地を控える
Do '繰り返す
i = i + 1 'カウント
c.Interior.ColorIndex = 8 'セル着色
Set c = Selection.FindNext(c) '連続検索
Loop Until c.Address = fAd '一巡するまで'繰り返し
End If
Next r '次の検索文字で繰り返す
Set c = Nothing
MsgBox i & "件を発見しました。", vbInformation, " ( ̄ー ̄)v"
End Sub
==ここまで===
上記のマクロで複数の文字列を一括検索ができますが、
この場合は「対象の文字列」を色付けするだけです。
7000程度の文字列があると、スクロールして色の付いた文字列を探すだけでも
結構な時間がかかります。
これをベースに別のセルまたはシートに抽出した文字列をピックアップして
表示させるにはどのような追加がマクロに必要か、教えてください。
当方、エクセル2000を使用しております。
上記のマクロは動作しています。
宜しくお願い致します。
補足
このカタチでできました!有難うございました Sub sample3() Dim i As Long With ActiveSheet For i = 5 To .Cells(Rows.Count, "R").End(xlUp).Row If InStr(.Cells(i, "R"), "※") > 0 Then Cells(i, 2).Offset(0, -1).Value = "※" End If Next i End With End Sub