顯示具有 array 標籤的文章。 顯示所有文章
顯示具有 array 標籤的文章。 顯示所有文章

2023年12月4日 星期一

vba陣列 不連續寫入大量資料技巧

說明一次寫入與copy 方式時間差距:


Sub CommandButton1_Click()

Debug.Print "陣列大量資料寫入"

t = Timer    

    DD = ActiveSheet.Range("A1:E1337")    

    Debug.Print "資料筆數" & Application.CountA(DD)

    Sheets(2).Range("A1:E1337") = DD    

    Debug.Print "花費時間" & Timer - t

Debug.Print "copy 資料寫入"

t = Timer

    ActiveSheet.Range("A1:E1337").Copy Sheets(2).Range("A1") 

    Debug.Print "花費時間" & Timer - t''

DD = Array(1, 2, 3)

ActiveSheet.Range("h1:j1") = DD

Debug.Print "一維陣列不支援不連續"

ActiveSheet.Range("h3,i3,l5") = DD

End Sub

資料分散時怎辦?

用FOR EACH IN,於不連續儲存格寫入技巧,解說SET物件的技巧


 Sub 寫入陣列到儲存格a()

    Dim 資料陣列 As Variant

    Dim i As Integer

    

    ' 將資料存入陣列

    資料陣列 = Array(1, 2, 3)    

    ' 將設置 range 物件

    Set myrange = ActiveSheet.Range("a1,b3,a10")

           i = 0    

    For Each a In myrange

        ActiveSheet.Range(a.Address).Value = 資料陣列(i)

        i = i + 1 '

    Next

End Sub


etf:我很弱,才10%不到

20261005 紀錄,今年度透過自主開發的演算法,做個小紀錄,之前我的雷達紀錄關閉了,用低調的方式作紀錄,看懂就看懂,單純紀錄;目前美國雷達開始上線測試。 我與ai互動:  問:0050 我今年 9.5%年報酬 006208 9.98%年報酬,你覺得? ai: 我覺得成績不錯,...