2017-08-24 154 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