返回列表 上一主題 發帖

[發問] 請教分欄排列:有無更快的寫法

本帖最後由 bobomi 於 2015-4-5 07:18 編輯

之所以暴快不是在於字典
而是在於你用了 "1次性填充的方式"  Range("C1:C50000") = Application.Transpose(d.items)

解法類似如下

    Col3 = [C1 : C50000].Value
    col4 = [D1 : D50000].Value
    Dim ar(1 To 50000, 1 To 6)
    For i = 1 To 50000
       ' .Cells(i, 3).Offset(0, d2(.Range("D" & i).Value)) = .Cells(i, 3)   '依序按欄號列出對應值
        ar(i, d2(col4(i, 1))) = Col3(i, 1) '依序按欄號列出對應值
    Next i
   
   .Cells(1, 9).Resize(50000, 6) = ar ' ---> 1次性填充

TOP

ReDim ar(1 to 50000,1 to d1.count)

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題