2017-05-03 59 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公式语言能够在同一个公式中引用中间结果。那么,它不,但它仍然是一个很好的工具:) –