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

沒有留言:

張貼留言

股票:財務工具快速整理工具開發

完成了✌✌✌ 內建財務資料到資料庫到103.4Q 每季度最高最低收盤價資料庫到103.4Q 繪製每季財務面表現與季股價走勢圖 簡單輸入股票代號即可立即查詢 具備連結可以連結到卷商系統,看資料。(這就要靠網路了) 雖然未來有打算開發成APP版但作罷,自己做給自己用。