2024年10月16日 星期三

我有一個vba寫大量資料的問題

   我有一個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 列或根據需要進行修改。試試看這個方法,有什麼問題隨時告訴我。

沒有留言:

張貼留言

我的雷達:2024/12/24

  太棒了,最近15天投報率太讓我暗爽了 追加2號神秘指標,還在驗證中,但滿足我的雷達條件下,2號指標反而有參考性。