|
本帖最后由 象山海鲜 于 2019-7-8 13:58 编辑
请不要误导新人~!
1.程序员再傻,也不会把不要用的属性和方法都去调用一遍,所以设置的运算机制绝对不是像你说的那样~!
2.引用和数组的误区。如果能用引用就别用数组型的数据~! 引用只是一个标识,并不加载数据到内存,只有用到的数据才回去加载~;数组则不同,他的数据是全部加载到内存的。
例 1) =vlookup("海鲜",A:GG,2,) ,实际加载的数据最多是A列,因为要求查找的区域就这么大,何况他还会忽略真空单元格,实际加载的数据更少~,我估计,他也是每个引用去判断,不用加载的!
返回的结果是直接调用相对位置的一个单元格引用的值,,并不是全部都加载~!所以不会不存在那么多的运算量,以及内存占用问题~!
例 2) =vlookup("海鲜",if({1,0},A:A,GG:GG),2,) 这里的if({1,0},A:A,GG:GG) 是数组,且是转换数据后的数组,真空单元格也转成了0值,这些都是直接加载内存的~!
所以这样的套路一般都不建议用~!
3.运算量的问题,运算次数越多,占用内存越多,复杂的公式,重复次数越多,肯定越慢。简单的运算不存在卡的,除非是电脑配置太差~!
单元格格式、条件格式等等,都是要运算的,所以如果这些多了,肯定影响速度~!
4.存储的数据多少问题。如果数据多,在打开工作簿时原始的解析和加载的数据本来就多,能不卡吗?
5.还有函数的选择上的问题,如果可以尽量不要使用易失函数,且尽量不要同时打开有很多易失函数的工作簿~!
易失函数牵一发而动全身,如果在单元格内更改下数据会触发全部的易失函数的重新运算,包括别的工作簿的易失函数公式~!
6.对于vba的运算速度比函数快的误区!一般用函数,工作簿都是开启自动运算模式,而vba只运算一次就停止,就是触发的一次~,
如果也像函数一样,实时更新的话,vba估计比函数还要慢~!
7.每个存在都有它的意义,vba可以函数不能的功能,函数却不能代替vba~,所以vba更灵活。
毕竟函数不能改变工作簿内的其他,只能运算结果,但是函数门槛低,稍稍学下,就能实际应用了。
反之vba可不是那么容易学会的,有很多函数、结构、语句、属性、方法.....,学习不容易啊,学精更难~!
所以不要说谁一定好那个一定不好,看问题要全面,寸有所长尺有所短,只要适合就好~!
|
评分
-
5
查看全部评分
-
|