VBA代码大全008:如何在vba中调用excel工作表函数?

众所周知,excel内部具有许多种类的函数,而且函数的功能都很强大,可以解决很多复杂的计算问题。

当我们编写vba解决方案时,巧妙的调用excel内置的函数,会起到事半功倍的效果。

​假设一个数值数组arr,我们要求这个数组arr的最小值,直接调用excel内置函数Min

Excel.Application.WorksheetFunction.Min (arr)

会比用循环算法求解这个数组的最小值来的方便。

再比如,有时候为了定位某个字段在一行中的位置,直接调用excel内置函数Match

Excel.Application.WorksheetFunction.Match(“姓名”, Sheet1.Range(“a1”).EntireRow, 0)

也比循环匹配来的简单。

但是并不是所有的工作表函数都可以直接用Application.WorksheetFunction调用。

比如工作表函数Text,由于在vba中也有内置的Format函数与之功能相近,所以就没有提供直接调用的接口。

此外,我们还会发现vba中的内置函数有些和excel内置函数功能一样,但是相同的参数结果还会有所不同,比如同样都是修约函数Round,同样的参数,结果还会不一样,这个也是要特别留意的。

       

发表评论