2017-05-03 73 views
1

我有一個數組公式將基於多個條件來標識行數,但是,我想將該值設置爲變量,因爲我想將其用作行數不同的公式。將數組公式輸出設置爲變量vba

{=MATCH(J1013&"*"&"55",Workings!K:K&Workings!G:G,0)} 

任何想法如何將此公式的輸出保存爲變量?

回答

1

您可以使用Evaluate方法評估公式字符串並將其輸出到VBA中的變量。例如:

Dim vRow 
vRow = activesheet.evaluate("MATCH(J1013&""*""&""55"",Workings!K:K&Workings!G:G,0)") 
+0

不錯,我會試試這個! – Lowpar

1

要存儲在公式計算的中間結果,你有兩個選擇:

1-在名稱管理器添加一個名稱。即

Formulas ---> Name Manager ---> New... 
give it a name, such as myVariable and write the formula in the RefersTo box 

此創建變量,則可以參考它的任何式中,如:

= myVar*10 

2-奉獻的細胞,以計算公式,並且是指該細胞。

選項1的優點是可以將其保留在幕後。當您想要對整列進行計算時,Option-2更加靈活,因此每行的中間值必須不同。在這種情況下,你把你的中間結果放在所謂的「助手列」

+0

我選擇將輸出放入單元格中,然後將其保存到變量中。工作,可惜沒有更好的方法來做到這一點。 – Lowpar

+0

@Lowpar我明白,我們都希望Excel公式語言能夠在同一個公式中引用中間結果。那麼,它不,但它仍然是一個很好的工具:) –