|
アクティブセルに検索元データ
アクティブセルから3つ左に検索先データ
アクティブセルから2つ左に取得したい値があります。
以下のようなコードを書いたのですが、データ量が数万個あると
処理速度が数分程度掛かってしまいます。
なんとかもっと高速に処理したいのですが、なんとかならないでしょうか?
Sub データ取得_あいまい()
Dim AAA(1 To 50000, 1 To 1)
Dim a As Single, b As Single
Set ACELL = Range(ActiveCell.Offset(, -3), ActiveCell.Offset(, -3).End(xlDown))
Set CCELL = Range(ActiveCell, ActiveCell.End(xlDown))
a = Timer
Set r = ActiveCell
AA = ACELL.Count
CC = CCELL.Count
For i3 = 1 To CC
For i1 = 1 To AA
Ma = CCELL.Cells(i3) Like ACELL.Cells(i1)
If Ma Then
AAA(i3, 1) = ACELL.Cells(i1).Offset(, 1)
Exit For
End If
Next i1
Next i3
r.Offset(, 1).Resize(50000).Value = AAA
b = Timer
MsgBox b - a
End Sub
|
|