|
>ダイアログで入力を考えていました。
>表示形式は文字数字だけです。
は処理してませんが、こんな感じでどうでしょう?
標準モジュールに貼り付けて
'検索したい文字列
MyFindStr = Array("A", "B", "C")
'検索するシート
Set Ws1 = Worksheets("Sheet1")
'貼り付けるシート
Set Ws2 = Worksheets("Sheet2")
を書き換えてお試しください。
Sub test()
Dim MyRange As Range, MyFind As Range
Dim MyFindStr As Variant
Dim i As Integer
Dim Ws1 As Worksheet, Ws2 As Worksheet
Dim FirstAddress As String
'検索したい文字列
MyFindStr = Array("A", "B", "C")
'検索するシート
Set Ws1 = Worksheets("Sheet1")
'貼り付けるシート
Set Ws2 = Worksheets("Sheet2")
With Ws1.Cells
For i = 0 To UBound(MyFindStr)
Set MyFind = .Find(MyFindStr(i), , xlValue, xlWhole)
If Not MyFind Is Nothing Then
FirstAddress = MyFind.Address
Do
MyFind.Font.ColorIndex = 3
If MyRange Is Nothing Then
Set MyRange = MyFind
Else
Set MyRange = Union(MyRange, MyFind)
End If
Set MyFind = .FindNext(MyFind)
Loop While Not MyFind Is Nothing And MyFind.Address <> FirstAddress
End If
Next
End With
For Each MyFind In MyRange.EntireRow.Areas
Call MyFind.Copy(Ws2.Range("A65536").End(xlUp).Offset(1, 0))
Next
End Sub
|
|