excel如何在宏代码里使用工作表函数

在Excel里有很多函数使用起来很方便,譬如:sum、average、min、max。但是工作表函数是不能在宏代码里直接使用的。它们和vba语言中的函数是不一样的。Vba中的函数例如val,mid在工作表里也不能通用。所以我在这里讲解一下在vba语言里调用工作表函数的方法。让一个变量得到单元格A1到B5的总和(变量设为X) X=SUM(RANGE("A1:B5"))的写法明显是行不通的。正确写法是 X = APPLICATION.WORKSHEETFUNCTION.SUM(RANGE("A1:B5"))也就是说必须通过 Application 对象的 Worksheetfunction 属性来间接调用工作表函数!

1、在Excel里有很多函数使用起来很方便,譬如:sum、average、min、max。但是工作表函数是不能在宏代码里直接使用的。它们和vba语言中的函数是不一样的。Vba中的函数例如val,mid在工作表里也不能通用。所以我在这里讲解一下在vba语言里调用工作表函数的方法。
2、让一个变量得到单元格A1到B5的总和(变量设为) X=SUM(RANGE(A1:B5))的写法明显是行不通的。正确写法是 X = APPLICATION.WORKSHEETFUNCTION.SUM(RANGE(A1:B5))也就是说必须通过 Application 对象的 Worksheetfunction 属性来间接调用工作表函数!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-19
你这个写法也不对,必须是
dim xRng as range
set xrng = RANGE("A1:B5")
X = APPLICATION.WORKSHEETFUNCTION.SUM(xrng)

直接引用单元格,会报错的。本回答被网友采纳
第2个回答  2013-12-19
说得很精辟,值得推广。在实际应用中可省略“APPLICATION.”,直接写成WORKSHEETFUNCTION.SUM(RANGE("A1:B5"))
相似回答