VB调用EXCEL函数问题

FunctionFunctionName1()Dima,b,cAsRangeSeta=Worksheets("Sheet1").Range("F1:F400")Setb=... Function FunctionName1()Dim a, b, c As Range
Set a = Worksheets("Sheet1").Range("F1:F400")
Set b = Worksheets("Sheet1").Range("F1")
Set c = Worksheets("Sheet1").Range("F$50")
answer = Application.WorksheetFunction.SumProduct(("F1:F400" = "f$50") * (Subtotal(103, Offset(F1, Row("F1:F400") - Row(F1),))))FunctionName1 = answerEnd Function为什么Application.WorksheetFunction.SumProduct(("F1:F400" = "f$50") * (Subtotal(103, Offset(F1, Row("F1:F400") - Row(F1),))))在VB里报错?我在EXCEL里用=SumProduct(("F1:F400" = "f$50") * (Subtotal(103, Offset(F1, Row("F1:F400") - Row(F1),))))能得到结果!
展开
 我来答
匿名用户
2013-12-21
展开全部
单元格地址,在VBA公式中,应该用:range("f1:f400")例:=sum(f1:f400)写成 =application.sum(range("f1:f400")) worksheetfunction是可以省略的。当然初学时不省最好,因为有些函数在VBA中是不可用的,不省它,就会提示你有哪些函数可用。offset是表示区域的。你在VBA写公式的时候,可以用resize来代替另:以上功能,建议不要用工作表公式来写。VBA有VBA的办法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式