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)))
如何使其像数组公式一样?
答案 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连接运算符&
不适用于数组或范围对象。