軟體:office 2016
版本:Excel 2016
原本用vlookup會造成程序跑太慢卡住,參考別人寫的方式
但是無法理解,想上來詢問,請問要如何修改呢?
原本函數是VLOOKUP(P2,標準!B:L,5,FALSE),希望在P:P範圍貼上多個數值會在
B:B的位置去回傳值
重新編寫後變成這樣,但是執行後沒有反應,不知道那邊錯了> <
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xR As Range, xF As Range, xCr, xCf, j%
xCr = Array(-13)
xCf = Array(5)
With Target.Columns(16) '貼入或輸入區的第一欄
If .Column <> 1 Then Exit Sub
For Each xR In .Cells
If .Row = 1 Then GoTo 101
xR(1, 3).Resize(1, 5).ClearContents
If xR = "" Then GoTo 101
Set xF = 標準.[B:L].Find(xR, LookAt:=xlWhole, MatchCase:=False)
If xF Is Nothing Then GoTo 101
For j = 0 To UBound(xCr)
xR(1, xCr(j)) = xF(1, xCf(j)).Value
Next j
101: Next
End With
End Sub