软件: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