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),))))能得到结果! 展开
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),))))能得到结果! 展开
1个回答
2013-12-21
展开全部
单元格地址,在VBA公式中,应该用:range("f1:f400")例:=sum(f1:f400)写成 =application.sum(range("f1:f400")) worksheetfunction是可以省略的。当然初学时不省最好,因为有些函数在VBA中是不可用的,不省它,就会提示你有哪些函数可用。offset是表示区域的。你在VBA写公式的时候,可以用resize来代替另:以上功能,建议不要用工作表公式来写。VBA有VBA的办法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询