通过r1c1配方参考预定义范围

时间:2017-03-06 14:18:38

标签: excel vba excel-vba vlookup named-ranges

我必须从另一个工作表中的另一个范围中查找一些值。我已将范围定义为“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)

我有什么建议可以在我的查找功能中引用范围x? 谢谢!

1 个答案:

答案 0 :(得分:1)

您将renderMap: function (panel) { var image = panel.down('image').el.dom; var rectsize = 100; var svg = d3.select(image) .append("svg") .attr("height", rectsize*10) .attr("width", rectsize*10); 范围设置为x,并且您希望在Set x = extwbk.Worksheets("ark1").Range("A1:d400")类型的公式中使用它,您可以从R1C1范围获取地址x

尝试使用以下两行:

x.Address(False, False, xlR1C1)

关注@Rory注释和PO,如果您指的是外部工作簿,则需要添加第4个参数,并查找绝对范围:

.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)"