this.$set 更新整个数组_Excel | VBA用数组提高填充Excel单元格的效率

⊙⊙⊙⊙⊙  公众号法务:杨子仲  ⊙⊙⊙⊙⊙

    在使用VBA对Excel对象(单元格内容、格式、图表等)进行操作的速度是比较慢的,如果对单元格区域,每个单元格逐一写入内容,会消耗大量的时间,为了提升工作效率,思路就是减少对Excel对象的操作,对单元格的操作,改成用二维数组对单元格区域的填充操作,注意二维数组的行列数最好和单元格区域的行列数一致。

    在子程序的开始和结束时,将Excel程序的重新计算分别设置成“手动重算”和“自动重算”,也是很重要的,特别是表格里公式很多时,时间差异会非常明显。

以下是简单的演示代码:

Private Sub Test_ArrFillRanges()    Application.Calculation = xlCalculationManual   '在子程序开始时,将Excel程序的计算方式改成“手动重算”,让表格中的公式不自动更新,可以大大提高计算效率;    '用数组提高VBA填充Excel单元格的效率,演示;    Dim Arr()   '定义一个数组,    Dim i As Integer    Dim j As Integer    ReDim Arr(2, 4) '将数组重定义为二维数组,实际运用中,参数一般为变量    For i = 0 To 1        For j = 0 To 3            Arr(i , j ) = Val(i & j)  '赋值二维数组;        Next j    Next i    ActiveSheet.Range("AK23:AN24") = Arr    '将整个数组赋值给对应大小的单元格区域,    Application.Calculation = xlCalculationAutomatic    '在子程序结束前,将Excel程序的计算方式恢复成“自动重算”,让表格中的公式能自动更新;End Sub

欢迎大家来访,我的微信小店

☆═━┈ ae8b38fa7608b759960709b0e12dad22.png 往期精彩 | Excel实战 ae8b38fa7608b759960709b0e12dad22.png ┈━═☆

Excel | VBA:一键提取票根网ETC电子发票通行明细清单数据

Excel | VBA:中国邮政新一代寄递平台派车单批量按天分频

Excel | 公式:检查电子发票重复报销、相近连号等

Excel | VBA批量纠正单元格无等号计算式

Excel | VBA限定文本框只能输入非负金额

---------------------------------------------------------

如果觉得文章有用,欢迎分享,感谢!61b0caecd008eca680c330d029d59ffe.pngae8b38fa7608b759960709b0e12dad22.png

---------------------------------------------------------

杨子仲的4fa6be2d869535f9e466ac35be8718d4.png表情包76acf08f3998a5c1732aacdd298a75c1.png主页

95d70dc08b7747aea197cf859706fc7c.png

3098d0a64e1cdf2fe4c71825d749bb9d.png给自己宣传,欢迎大家使用我的表情包d370156b8037a463399280f13dbbcc57.png

---------------------------------------------------------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值