第6节 函数与公式 我们在使用Excel的时候经常会用到很多自带函数或自定义函数,那么当在编写VBA的时候怎样使用这些函数呢? 一、在单元格中输入公式 1、用VBA在单元格中输入普通公式
这一句就是将B2和C2的乘积赋值给D2,写的时候不要忘记等号和双引号!引号里面的内容跟我们在单元格里输入公式的方法是一样的。 当然这种方式可以用循环来写很多单元格。 总体来说,这种方式就是我们在单元格中手动输入公式,我们可以在单元格里看到公式。 2、用VBA在单元格输入带引号的公式 如果我们需要输入的公式中本身就带有引号,那么,不管是单引号还是双引号,都要加倍。
SumIf是我们在Excel中常用的一个函数,有条件的求和,即把符合条件的加起来,不符合的不加。 3、用VBA在单元格中输入数组公式
Formula是公式的意思,Array是数组的意思,.FormulaArray就是数组公式。这句代码是B2*C2+B3*C3+……+B6*C6。关于数组,后续有专门的介绍。 以上几个方法都是相当于在单元格中输入各种公式的操作,我们可以在表格中看到公式,如果不想让别人看到你的计算过程,那么就要用下面几种方法了。 二、利用单元格公式返回值 在第一类方法的基础上加上Evaluate()函数即可,这个单词就是计算的意思。同样,不要忘记引号加倍!
三、借用工作表函数 Excel内置的函数就是工作表函数WorksheetFunction,它们就是我们在操作表格的时候常用到函数,在VBA中利用这些函数的时候需要用Application.WorksheetFunction。
CountIf是把符合条件的计数,不符合的不计数,最终结果返回的是个数。 四、利用VBA函数 跟工作表函数对应的是VBA函数,这是VBA环境自带的函数,在使用的时候需要加上VBA.。
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 相关笔记请参阅: |
|