[算表] EXCEL VBA取代Vlookup 代碼看不太懂
軟體: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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.190.179 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1562498737.A.B34.html
→
07/07 19:55,
6年前
, 1F
07/07 19:55, 1F
→
07/07 19:55,
6年前
, 2F
07/07 19:55, 2F
→
07/07 19:56,
6年前
, 3F
07/07 19:56, 3F
→
07/07 19:58,
6年前
, 4F
07/07 19:58, 4F
→
07/07 20:00,
6年前
, 5F
07/07 20:00, 5F
→
07/07 20:02,
6年前
, 6F
07/07 20:02, 6F
→
07/07 20:06,
6年前
, 7F
07/07 20:06, 7F
→
07/07 21:01,
6年前
, 8F
07/07 21:01, 8F
→
07/07 21:01,
6年前
, 9F
07/07 21:01, 9F
→
07/07 21:01,
6年前
, 10F
07/07 21:01, 10F
→
07/07 21:01,
6年前
, 11F
07/07 21:01, 11F
→
07/07 21:02,
6年前
, 12F
07/07 21:02, 12F
→
07/07 21:04,
6年前
, 13F
07/07 21:04, 13F
→
07/07 21:16,
6年前
, 14F
07/07 21:16, 14F
→
07/07 21:17,
6年前
, 15F
07/07 21:17, 15F
→
07/07 21:17,
6年前
, 16F
07/07 21:17, 16F
※ 編輯: t6370345 (39.10.140.253 臺灣), 07/07/2019 21:57:59
→
07/07 22:01,
6年前
, 17F
07/07 22:01, 17F
→
07/07 22:01,
6年前
, 18F
07/07 22:01, 18F
→
07/07 22:50,
6年前
, 19F
07/07 22:50, 19F
→
07/07 22:51,
6年前
, 20F
07/07 22:51, 20F
→
07/07 22:52,
6年前
, 21F
07/07 22:52, 21F
Office 近期熱門文章
PTT數位生活區 即時熱門文章