VBA 数组节省时间的测算----可以用python的装饰器?

 

数组的时间节省原理


1 VBA就是寄生在excel里的,excel存储的主要就是数据
2 如果先把excel的数据读到arry里,然后VBA操作array会更快
  比VBA多次去EXCEL里取数据要快很多。
3 所以学VBA,要先学会把EXCEL数据导入,导出到arry,这2者自由转换。
4 用装饰器来测速度?
 


Sub main1()
Call 求第1列和方法1
Call 求第1列和方法2
End Sub



Sub 求第1列和方法1()

t1 = Timer
y = Cells(Rows.Count, 1).End(xlUp).Row    '用rows.count 别用什么65535
For i = 1 To y
  s1 = s1 + Cells(i, 1)
Next i
Debug.Print "方法1第1列的非空单元格数=" & y
Debug.Print "方法1第1列的和=" & s1
Debug.Print "方法1统计花费时间=" & Format(Timer - t1, "0.000秒")
End Sub


Sub 求第1列和方法2()
t2 = Timer
y = Cells(Rows.Count, 1).End(xlUp).Row
arr2 = Range("a1:a" & y)
For i = 1 To UBound(arr2)
  s2 = s2 + arr2(i, 1)
Next i
Debug.Print "方法2第1列的非空单元格数=" & y
Debug.Print "方法2第1列的和=" & s2
Debug.Print "方法2统计花费时间=" & Format(Timer - t2, "0.000秒")
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值