将Excel公式转换为VBA代码

你可以请build议如何将公式转换为VBA代码

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

我这样做,但问题如何使用当前代码中的“偏移”?

 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")) 

谢谢,
问候,

从评论中迁移…

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

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