Excel 对引用变量的TableArray执行Vlookup时出错

Excel 对引用变量的TableArray执行Vlookup时出错,excel,vba,vlookup,Excel,Vba,Vlookup,当我想制作一个Vlookup并且TableArray总是从列“a”到“K”开始时,我在VBA编码方面有一些问题,但是行可以根据情况而有所不同 比如说 范围(“P1”).值=范围(“O2”).值和范围(“M2”).值 范围(“P2”).值=范围(“O3”).值和范围(“M3”).值 我在单元格“O2”中写了“A”,在单元格“O3”中写了“K”。M2和M3是一个行号,我将从公式中得到。假设M2=10,M3=20,这意味着我的“P1”将是A10,“P2”将是K20。所以我想在Vlookup中使用的表数

当我想制作一个Vlookup并且TableArray总是从列“a”到“K”开始时,我在VBA编码方面有一些问题,但是行可以根据情况而有所不同

比如说 范围(“P1”).值=范围(“O2”).值和范围(“M2”).值 范围(“P2”).值=范围(“O3”).值和范围(“M3”).值

我在单元格“O2”中写了“A”,在单元格“O3”中写了“K”。M2和M3是一个行号,我将从公式中得到。假设M2=10,M3=20,这意味着我的“P1”将是A10,“P2”将是K20。所以我想在Vlookup中使用的表数组是A10:K20。但不知何故,当我使用“ActiveCell.FormulaR1C1=“=VLOOKUP(RC[-8],间接(P1):间接(P2),10,FALSE)”时,代码是错误的

我尝试了许多不同的解决方案,但都没有成功。这是我最新的解决方案,但失败了。我附上了一个文件,因为我的解释可能不太好。它应该在“上周”下的任何一列下进行Vlookup,并获得“本周”的评论

整个代码如下:

ActiveCell.Copy
Range("M1").PasteSpecial

Range("M1") = Range("M1").Value

Range("M2") = "=Match(M1-4,A:A,0)"
Range("M3") = "=Match(M1-3,A:A,0)"
Range("M4") = "=Match(M1-0,A:A,0)"

Range("M4").Copy

Range("M10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Range("M10") = Range("M10").Value
Range("M2") = Range("M2").Value
Range("M3") = Range("M3").Value

Range("P1").Value = Range("O2").Value & Range("M2").Value
Range("P2").Value = Range("O3").Value & Range("M3").Value

I = Range("M10").Value

Cells(I + 2, 10).Select

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-8], Indirect(P1): Indirect(P2), 10, FALSE)"

End Sub```