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


沒有留言:

張貼留言

職場毒癌:證照有沒有用,舉手提問

 小編鄭幾天被晚輩提問,考證照有用嗎? 小編整理三個面向 1.口糧 2.貴族 3.加值 這三個面向,作思考發想: 1.口糧:怎說是口糧呢!!!!!直接切入,這寫在履歷上有亮點?ai能否取代?? 最好例子就是駕照,人人會開車,這算技能;太直白會檔到很多人財路,但回到自我發展與規劃,...