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

関連する問題