VBA 复制粘贴很多数据比较慢怎么办 | 您所在的位置:网站首页 › vba代码运行太卡 › VBA 复制粘贴很多数据比较慢怎么办 |
今天继续讲讲练习啦~ 这几天的内容实在有点水,主要是杂七杂八事比较多,耽误了蛮多时间,后面争取多找找资料,写点干货 VBA复制几十万行太慢怎么办?怎么提升效率其实之前讲过啦~ 比如创建一个20万行*20列的数据,复制到另一张表,怎么样创建比较快呢? 要是想着循环20万次,每次都赋值一次到单元格,那可就太慢了,最好就是先循环赋值给数组,再讲数组的值赋值给单元格,这样几秒钟就可以搞定咯~ Sub myCreate() '在sheets(1)上随机生成20万*20列的数据(大概3-4秒完成) '基本思路是先将值赋值给数组,数组再直接赋值给range区域 Dim myArray(1 To 200000, 1 To 20) Dim myRng As Range For i = 1 To 200000 For j = 1 To 20 myArray(i, j) = Rnd Next Next Set Rng = Sheets(1).Range(Cells(2, 1), Cells(200001, 20)) Rng.Value = myArray End Sub Sub myPaste() '粘贴先设置个Variant,在复制过去(大概3-4秒完成) Dim x As Variant Dim myRng As Range Set myRng = Sheets(2).Range("a2") Set x = Sheets(1).Range("A2:T200001") x.Copy myRng End Sub
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |