我有一個vba寫大量資料的問題
我有一個2維陣列a(100000,3)的資料,要謝入a到d行中,建議怎樣效率最好
copilt:處理大數據量可以比較複雜,但使用 VBA 可以優化。這是你可以參考的一個高效方法,使用 Excel 的範圍對象一次性寫入數據,而不是逐行逐列地操作。
這裡是一個簡化的範例:
Sub WriteLargeArray()
Dim ws As Worksheet
Dim data As Variant
Dim i As Long
' 假設你已經有一個 2D 陣列 "a"
ReDim a(1 To 100000, 1 To 3)
' 填充示例數據
For i = 1 To 100000
a(i, 1) = "Data" & i
a(i, 2) = "Value" & i
a(i, 3) = "Result" & i
Next i
Set ws = ThisWorkbook.Sheets("Sheet1") ' 更改工作表名稱為你要操作的工作表
' 將陣列一次性寫入到 Excel 中,範圍對象自動處理
ws.Range("A1").Resize(UBound(a, 1), UBound(a, 2)).Value = a
End Sub
這段代碼會一次性將整個 2D 陣列寫入到 Excel 中的 A 到 C 列中,範圍對象的 Resize 方法能夠迅速處理大數據量的寫入操作。你可以調整範圍到 D 列或根據需要進行修改。試試看這個方法,有什麼問題隨時告訴我。
沒有留言:
張貼留言