尝试在VBA中组合INDEX和MATCH函数

时间:2013-11-27 01:06:14

标签: function vba excel-vba worksheet-function excel

为什么这不起作用?

Result = Application.WorksheetFunction.Index((Range("CountryNames")), _
                Application.Match((Range("B61")), (Range("CurrencyValues")), 0))

1 个答案:

答案 0 :(得分:1)

括号太多。不是将范围传递给Index,而是仅传递范围的值。对于Match的参数,这是可以的,因为该函数在值上也可以正常工作就像它对范围一样。但Index只适用于范围。试试这个:

Result = Application.Index(Range("CountryNames"), _
        Application.Match(Range("B61"), Range("CurrencyValues"), 0))