2017-08-24 128 views
1

是否有将VBA中的变量设置为公式的结果/值的方法。 我需要它来计算VBA中的结果而不是单元格中的结果。Excel VBA - 将变量设置为公式的值

Variable1 = "=SUBTOTAL(3,INDIRECT('New Sheet 1'!A3:A4500))" 
Variable2 = "=SUMPRODUCT(--ISERR('New Sheet 1'!J3:J4000))" 
Variable3 = "=COUNTBLANK('New Sheet 1'!P2:P4000)" 

我已经在这里看到了一些使用“标记”的问题。

在此先感谢!

回答

4

使用评估

Variable1 = Application.Evaluate("SUBTOTAL(3,INDIRECT('New Sheet 1'!A3:A4500))") 
Variable2 = Application.Evaluate("SUMPRODUCT(--ISERR('New Sheet 1'!J3:J4000))") 
Variable3 = Application.Evaluate("COUNTBLANK('New Sheet 1'!P2:P4000)") 

或者你也可以使用短手评价:

Variable1 = [SUBTOTAL(3,INDIRECT('New Sheet 1'!A3:A4500))] 
Variable2 = [SUMPRODUCT(--ISERR('New Sheet 1'!J3:J4000))] 
Variable3 = [COUNTBLANK('New Sheet 1'!P2:P4000)] 

用这样的方式[]Application.Evaluate,并用正在使用它会工作的公式的简写。

如果您的公式包含一个连接字符串使用变量,则速记方法是行不通的,而Application.Evaluate需要用引号

+0

谢谢你这么多拼写出来! – jeppesr