Excel VBA从嵌套函数中提取值

Excel VBA从嵌套函数中提取值,excel,vba,function,nested,Excel,Vba,Function,Nested,是否可以在VBA中提取嵌套子函数的结果值 例如,从这个INDEX-MATCH查找函数中,我想从两个MATCH()函数的结果中查找值: =+INDEX(Sheet3!$B$5:$I$15;MATCH($A6;Sheet3!$A$5:$A$15;0);1) 我正在寻找一个宏,它可以返回嵌套的MATCH()函数的值作为VBA代码的输入。也就是说,我意识到我可以提取MATCH()子函数,并让VBA将其粘贴为值。我想要的是识别MATCH()函数的值,并在我的VBA脚本中使用它进行计算。由于我没有完全理解

是否可以在VBA中提取嵌套子函数的结果值

例如,从这个INDEX-MATCH查找函数中,我想从两个
MATCH()
函数的结果中查找值:

=+INDEX(Sheet3!$B$5:$I$15;MATCH($A6;Sheet3!$A$5:$A$15;0);1)

我正在寻找一个宏,它可以返回嵌套的
MATCH()
函数的值作为VBA代码的输入。也就是说,我意识到我可以提取
MATCH()
子函数,并让VBA将其粘贴为值。我想要的是识别
MATCH()
函数的值,并在我的VBA脚本中使用它进行计算。

由于我没有完全理解您所说的内容,我将进行猜测。。。您想单独使用match()场景吗

dim x as long, y as long, z as string
x = application.match($A" & ActiveCell & ",Sheet3!$A$5:$A$15,0)"
y = x*3 'perform some work using the row number x, knowing match of 1 = row 5 on sheet3
z = application.index(Sheet3!$B$5:$I$15," & y & ")"
更进一步,您可以利用所述算术匹配值


从本质上讲,匹配只提供数组中的行号,所以我不知道您所指的“提取”是什么。如果您希望提取一个匹配的值,那么您将得到A6中的值(来自您的示例)


编辑:更新代码以使其可用(之前只是给出了一个概念)


您可能正在查找
LOOKUP
函数,如果您想要的是值而不是行号,那么您的代码中至少有两个双引号
”。@Pᴇʜ将其更改为更有用,并且所有内容都适合VBA,而不是粘贴公式。
dim x as long, y as long, z as string
with sheets("Sheets3")
    x = application.match(ActiveCell.value,.range(.cells(5,"A"),.cells(15,"A")),0)
    y = x*1 'perform some work using the row number x, knowing match of 1 = row 5 on sheet3
    z = application.index(.range(.cells(5,"B"),.cells(15,"B")),y)  'This index was changed to be a SINGLE COLUMN (was B5:I15)
end with