返回列表 上一主題 發帖

關於大面積的Vlookup緩慢改善的可能?

ABCD.rar (342.39 KB) 回復 1# jazzcarr
[d1:d65536]用字典計算0.3秒,用vlookup函數計算5秒,用vlookup函數的好處是保留公式,c欄隨填d欄馬上得到結果
lmh

TOP

回復 8# jazzcarr
    Set d = CreateObject("scripting.dictionary")''''''建立字典d(不用引用)
    a = [A1].CurrentRegion.Resize(, 4)''''''''''''''''''把儲存格資料放進變量a(資料只有3欄,設定4欄,最後欄將存放結果)
   For i = 1 To UBound(a, 1)
    d(a(i, 1)) = a(i, 2)''''''''''d(要找是參照)=找到的結果'''''把所有參照和結果都裝進字典d,一一對應
    For i = 1 To UBound(a, 1)
    a(i, 4) = d(a(i, 3))''''''第4欄是結果,第4欄=d(第三欄)
    Next i
    [d1].Resize(UBound(a, 1)) = WorksheetFunction.Index(a, 0, 4)'''''右邊是第4欄全部資料.把全部資料輸入D欄   
    MsgBox Format(Timer - pp, "0.0000")''''''顯示程式執行耗時多少秒
lmh

TOP

        靜思自在 : 犯錯出懺悔心,才能清淨無煩惱。
返回列表 上一主題