如何将此匹配/索引工作表函数作为数组公式?

时间:2017-07-29 22:27:22

标签: arrays excel-vba excel-formula match vba

matchRECORD1 = Application.WorksheetFunction.Index(Sheets("TEMPDB").Range("D" & lrCHIMPORT2 + 1 & ":D" & lr3CHIMPORT2), _
                                    Application.WorksheetFunction.Match(Sheets("STATIONS").Cells(RARSTAT3, 2) & Sheets("STATIONS").Cells(1, cARTIST), _
                                    Sheets("TEMPDB").Range("C" & lrCHIMPORT2 + 1 & ":C" & lr3CHIMPORT2) & Sheets("TEMPDB").Range("A" & lrCHIMPORT2 + 1 & ":A" & lr3CHIMPORT2)))

如何使其像数组公式一样?

1 个答案:

答案 0 :(得分:0)

您可以使用以下声明:

  matchRECORD1 = Evaluate("INDEX(TEMPDB!D" & lrCHIMPORT2 + 1 & ":D" & lr3CHIMPORT2 & _
  ", MATCH(STATIONS!B" & RARSTAT3 & "& STATIONS!" & cells(1, cARTIST).Address & _
  " , TEMPDB!C" & lrCHIMPORT2 + 1 & ":C" & lr3CHIMPORT2 & _
  " & TEMPDB!A" & lrCHIMPORT2 + 1 & ":A" & lr3CHIMPORT2 & "))")

这是一些繁琐的工作,但这是迫使Excel将其评估为数组公式的唯一(可能)方法。问题是VBA连接运算符&不适用于数组或范围对象。