通过r1c1公式参考预定义的范围
我必须从另一个工作表中的另一个范围查找一些值。 我已经将范围定义为“x”,我想在r1c1公式中使用它,参见示例:
Set x = extwbk.Worksheets("ark1").Range("A1:d400") With twb.Sheets(filename) .Range("k2:k" & n).FormulaR1C1 = "=VLOOKUP(RC[-10],x,4,False)" .Range("l2:l" & n).FormulaR1C1 = "=VLOOKUP(RC[-11],x,4,False)"
我试图做的application.vlookup,它的工作原理,但太慢了,因为我必须循环4000+行两次我将需要使用范围x,作为范围应灵活取决于查找表,例如:
Set x = extwbk.Worksheets("ark1").Range("A1:d" & rows)
任何build议如何我可以参考我的查找function的范围x? 谢谢!
您将x
范围Set x = extwbk.Worksheets("ark1").Range("A1:d400")
为Set x = extwbk.Worksheets("ark1").Range("A1:d400")
,并且想要在R1C1
types的公式中使用它,可以通过x
范围获取地址x.Address(False, False, xlR1C1)
。
尝试使用下面的2行:
.Range("K2:K" & n).FormulaR1C1 = "=VLOOKUP(RC[-10]," & x.Address(False, False, xlR1C1) & ",4,False)" .Range("L2:L" & n).FormulaR1C1 = "=VLOOKUP(RC[-11]," & x.Address(False, False, xlR1C1) & ",4,False)"
在@Rory注释和PO之后,如果您指的是外部工作簿,则需要添加第四个参数,并查找绝对范围:
.Range("K2:K" & n).FormulaR1C1 = "=VLOOKUP(RC[-10]," & x.Address(True, True, xlR1C1, True) & ",4,False)" .Range("L2:L" & n).FormulaR1C1 = "=VLOOKUP(RC[-11]," & x.Address(True, True, xlR1C1, True) & ",4,False)"