众所周知,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,同样的参数,结果还会不一样,这个也是要特别留意的。
发表评论