将Excel公式转换为VBA代码

时间:2016-05-25 05:33:32

标签: excel vba excel-vba

您能否告知如何将公式转换为VBA代码

=SUMPRODUCT(SUBTOTAL(3,OFFSET((AT2:AT644),ROW(AT2:AT644)-MIN(ROW(AT2:AT644)), ,1)) * (AT2:AT644="6"))

我喜欢这个,但是问一下如何在当前代码中使用“offset”?

Application.WorksheetFunction.SumProduct(Application.WorksheetFunction.Subtotal(3, Application.Range.Offset(("AT2:AT644"), Application.Rows("AT2:AT644") - Application.WorksheetFunction.Min(Application.Rows("AT2:AT644")), , 1)) * ("AT2:AT644" = "6"))

谢谢,
问候,
诱饵

1 个答案:

答案 0 :(得分:1)

从评论中迁移...

Debug.Print Sheet1.Evaluate("SUMPRODUCT(SUBTOTAL(3,OFFSET((AT2:AT644),ROW(AT2:AT644)-MIN(ROW‌​(AT2:AT644)), ,1)) * (AT2:AT644=""6""))") 

或者您需要使用哪个工作表,只是不要使用Application.Evaluate,除非您希望它始终在ActiveSheet的上下文中进行评估。