返回列表 上一主題 發帖

[發問] 最快速的比對資料方式?

回復 10# PKKO


比對文字還有 Instr 方法,
要看資料結構及需求,才能決定使用何種方式,
請提供相關檔案資料,說明需求及模擬結果,

另,此問題已與此題本意不同,建議另行發帖較妥適,也可讓更多人共同參與討論!
 

TOP

回復 4# 准提部林


    謝謝論壇,謝謝前輩
後學藉此帖學習前輩的方案,學習心得註解如下,請前輩再指導

執行結果:



Sub TEST_Vlookup()
Dim TM, Arr, Brr, xRow&, xD, i&
'↑宣告變數
TM = Timer
[B:B].Clear: [J1] = ""
'↑令結果欄舊資料清除
xRow = 20000
'↑令處理列數是2萬列
Arr = [A1].Resize(xRow)
'↑令Arr變數是二維陣列,以A欄儲存格值帶入
Brr = [C1:D1].Resize(xRow)
'↑令Brr變數是二維陣列,以C.D欄儲存格值帶入
Set xD = CreateObject("Scripting.Dictionary")
'↑令xD變數是字典
For i = 1 To UBound(Brr)
'↑設順迴圈
    xD(Brr(i, 1)) = Brr(i, 2)
    '↑令以Brr陣列第一欄值當key,item是Brr陣列第二欄值,納入xD字典裡
Next
For i = 1 To UBound(Arr)
'↑設順迴圈
    Arr(i, 1) = xD(Arr(i, 1))
    '↑令以Arr陣列值查xD字典,將回傳值取代原來的陣列值,
    '若查不到會回傳空字元取代原來的陣列值

Next
[B1].Resize(xRow) = Arr
'↑令Arr陣列值帶入B欄
[J1] = Timer - TM
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題