打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA 学习笔记5:函数与公式

第6节 函数与公式

我们在使用Excel的时候经常会用到很多自带函数或自定义函数,那么当在编写VBA的时候怎样使用这些函数呢?

一、在单元格中输入公式

1、用VBA在单元格中输入普通公式

Range('d2')= '=b2*c2'

这一句就是将B2和C2的乘积赋值给D2,写的时候不要忘记等号和双引号!引号里面的内容跟我们在单元格里输入公式的方法是一样的。

当然这种方式可以用循环来写很多单元格。

注意我们前面提到的变量和非变量要用&符号连起来,非变量部分要加双引号。这两个例子有两种单元格的书写方式,Range('A1')用于没有变量的单元格,不能有变量,需要加双引号;Cells(a,b)两种方式都可以,不需要双引号。

总体来说,这种方式就是我们在单元格中手动输入公式,我们可以在单元格里看到公式。

2、用VBA在单元格输入带引号的公式

如果我们需要输入的公式中本身就带有引号,那么,不管是单引号还是双引号,都要加倍

Range('c16') = '=SUMIF(A2:A6,''b'',B2:B6)'

SumIf是我们在Excel中常用的一个函数,有条件的求和,即把符合条件的加起来,不符合的不加。

3、用VBA在单元格中输入数组公式

Range('c9').FormulaArray= '=SUM(B2:B6*C2:C6)'

Formula是公式的意思,Array是数组的意思,.FormulaArray就是数组公式。这句代码是B2*C2 B3*C3 …… B6*C6。关于数组,后续有专门的介绍。

以上几个方法都是相当于在单元格中输入各种公式的操作,我们可以在表格中看到公式,如果不想让别人看到你的计算过程,那么就要用下面几种方法了。

二、利用单元格公式返回值

在第一类方法的基础上加上Evaluate()函数即可,这个单词就是计算的意思。同样,不要忘记引号加倍!

Range('d16') = Evaluate('=SUMIF(A2:A6,''b'',B2:B6)')

Range('d9') = Evaluate('=SUM(B2:B6*C2:C6)')

三、借用工作表函数

Excel内置的函数就是工作表函数WorksheetFunction,它们就是我们在操作表格的时候常用到函数,在VBA中利用这些函数的时候需要用Application.WorksheetFunction。

Range('d8') = Application.WorksheetFunction.CountIf(Range('A1:A10'), 'B')

CountIf是把符合条件的计数,不符合的不计数,最终结果返回的是个数。

四、利用VBA函数

跟工作表函数对应的是VBA函数,这是VBA环境自带的函数,在使用的时候需要加上VBA.

Range('C20') =VBA.InStr(Range('a20'), 'E')

InStr函数返回的是指定一字符串在另一字符串中最先出现的位置,具体用法可以参考帮助文件。

五、编写自定义函数

当我们遇到工作表函数和VBA函数都没有的工作时,可以自定义自己的函数,具体的写法跟Sub过程一样,只不过它用的Function,下面就是个例子,它用来获得当前工作表的名称。

到这里,你一定会非常困惑,哪些是工作表函数,哪些是VBA函数?如果有写好的当然执行效率高了,也省的我们费劲去写自己的了,这个需要我们参考帮助文件和MSDN帮助。

全部的函数说明参见下面的MSDN链接:

http://msdn.microsoft.com/en-us/library/bb259450(v=office.12).aspx

或者是

http://msdn.microsoft.com/en-us/library/bb225774(v=office.12).aspx

相关笔记请参阅:

Excel VBA 学习笔记4:VBA变量

Excel VBA 学习笔记3:循环语句

Excel VBA 学习笔记2:条件语句

Excel VBA 学习笔记1:语句、对象、方法、属性

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel VBA 学习总结-内置函数
vba excel 去掉单元格中隐藏着的双引号或单引号 (多列含有,希望得到一次性清楚)
VBA|输入公式和使用函数
VBA中调用excel的函数
在excel中使用vba实现查询、统计系统
Excel VBA 中的 FormulaR1C1 方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服