VBA应用经验:工作表函数和VBA代码,你选择哪种方案?
2024-06-27 0
VBA是我们工作中值得使用的工具,特别是对于长期与数据打交道、大量使用EXCEL的朋友来说。毫不夸张地说,甚至可以立竿见影。以前需要几个小时甚至一天的事情,使用VBA后可以在几分钟甚至几秒钟内完成。朋友告诉我,这种体验可以用“爽”两个字来形容。每当看到这些朋友的回复我就感到很开心。我也很高兴能够引导大家走上便捷工作的道路。
很多朋友为了学习VBA确实下了一番功夫。其中有刚入职场的年轻人,有40多岁的朋友,也有像我这样50多岁的朋友,甚至还有比我年长的朋友。。为了改善我的工作并节省与父母和亲戚相处的时间,我正在努力。我的目的始终如一:带着喜悦分享成果和正能量,就是把我二十多年的VBA成果分享给有需要的朋友,带着喜悦正能量给同路的旅友分享我的经验每个人。毫无保留。
今天我要说的是EXCEL函数和VBA代码哪个优先才能达到同样的目的。最近很多朋友都面临这个问题,所以我来给一些指导。
1什么是EXCEL函数以及它与VBA函数的区别?
1什么是EXCEL函数?是我们在EXCEL中通常使用的函数,如SUM()SUMIF()COUNT()COUNIF()等。
2什么是VBA函数?这是我们可以在VBA中直接使用的函数。该类型的函数比较少:如isdata、isempty、isnumeric等。
3、EXCEL函数(以下简称电子表格函数)与VBA函数的关系;有些函数是通用的,如TRIM()LEFT()RIGHT()等;。
二:有没有办法在VBA中使用工作表函数?我在《VBA代码解决方案》第二卷中专门讲过这个主题:
在49课时我说过:
在本次演讲中,我提供了电子表格函数的常见应用方法的代码,例如:
设置范围('A1:H10')
dApplicationWorksheetFunctionSum(rng)
也许正是这一段的作用,让很多朋友在编写VBA代码时经常使用电子表格函数,而放弃了一些基本的VBA变量判断方法。
以下是一些需要记住的事情:
1、我在《VBA代码解决方案》中强调的是程序运行的效率。事实上,在我们的实际工作中,大多数计算效率要求并不是很高。这只是几秒钟的差别。完全被忽略。
2、电子表格功能的每个参数在应用时都有非常严格的要求,不能出错。
3VBA中工作职能的表示与EXCEL中的不同。
4在VBA中,决定使用电子表格函数还是变量需要更灵活的应用。
3、我们来看看工作表函数和VBA代码中变量的求解方法有什么实际区别,以达到我们的目的。
示例:在下面的工作表中,求数据1与数据2相乘后的总和。
方案一:使用工作表函数在工作表中实现:此时在D7单元格中输入公式:SUMPRODUCT(A2:A6,B2:B6)即可得到:
选项2:在VBA中使用工作表函数实现该函数必须以WorksheetFunction开头,如下所示:
SubSumProduto()
范围('d8')WorksheetFunctionSumProduct(范围('A2:A6'),范围('B2:B6'))
结束子
运行后的结果显示单元格D8中的最终结果:225。此时注意单元格名称的变化,前面添加了range()。
方案3:还有其他办法吗?是的,可以使用VBA变量sum来实现。我们看一下代码:SubSumProduct2()
i2
k0
DoWhileCells(i,1)''
kkCells(i,1)*Cells(i,2)
ii1
关联
范围('d9')k
结束子
代码截图:
最后看一下运行结果:
方案四:还有其他办法吗?如果你熟悉《VBA代码解决方案》,你一定会想到第一卷:
让我们看看如何使用本次演讲的内容来完成我们的需求:
代码:
SubSomaProduto3()
范围('d10')公式'SUMPRO管道(A2:A6,B2:B6)'
结束子
代码截图:
查看比赛结果:
上面列出了四个选项给大家。我想知道读者同意哪一种说法?
事实上,我们不应该拘泥于任何固定的模式,我们应该分析实际问题,不能一味追求运行效率而忽略了我们的真实目的。根据我的经验,如果可以在电子表格中解决,就可以在电子表格中解决。如果需要的功能比较复杂,涉及到的参数也很复杂,就必须使用代码变量来达到目的。
因此,大家在学习《VBA代码解答》时,一定要明白,一定要以实际问题为出发点,全面考虑问题,千万不能片面。
本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。