返回列表 上一主題 發帖

[發問] 請益 是否有更快的查詢方式

回復 1# fantersy

請測試看看,謝謝

Sub test()
Dim Arr, xD, i&, Tm
Tm = Timer
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([L!a1], [L!l65536].End(3))
For i = 2 To UBound(Arr)
    xD(Arr(i, 10)) = Arr(i, 1)
    xD(Arr(i, 12)) = Arr(i, 1)
Next
Arr = Range([R!b1], [R!m65536].End(3))
For i = 2 To UBound(Arr)
    xD(Arr(i, 10)) = Arr(i, 1)
    xD(Arr(i, 12)) = Arr(i, 1)
Next
Arr = Range([序號!a2], [序號!a65536].End(3))
For i = 1 To UBound(Arr)
    Arr(i, 1) = xD(Arr(i, 1))
Next
Sheets("序號").[b2].Resize(UBound(Arr)) = Arr
MsgBox Timer - Tm
End Sub

TOP

本帖最後由 samwang 於 2021-7-30 12:56 編輯

回復 1# fantersy


看了准大的答案,才知道誤會樓主的需求了,正確需求要區間比對,
所以請忽略7樓程式,謝謝

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題