简体   繁体   English

将Excel公式转换为VBA代码

[英]Convert Excel Formula to VBA code

Could you please advise how to convert a formula to VBA code 您能否建议如何将公式转换为VBA代码

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

i do like this, but question how to use "offset" in current code? 我确实喜欢这样,但是质疑如何在当前代码中使用“偏移”?

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

Thanks, 谢谢,
Regards, 问候,
Lure

Migrated from comment... 已从评论迁移...

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

or whichever sheet you need to use, just don't use Application.Evaluate unless you want it to always evaluate in the context of the ActiveSheet. 或您需要使用的任何工作表,只是不要使用Application.Evaluate除非您希望它始终在ActiveSheet的上下文中进行评估。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM