- 帖子
- 181
- 主題
- 5
- 精華
- 0
- 積分
- 197
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2000
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2014-3-9
- 最後登錄
- 2024-4-29
|
本帖最後由 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次性填充 |
|