excel VBA脚本VLOOKUP其他具有未知工作表名称的文件

时间:2015-08-03 12:53:02

标签: excel vba excel-vba vlookup

我尝试使用VLOOKUP创建一个VBA脚本到另一个工作簿。第二个工作簿的名称始终为Stock.xls。 Stock.xls中的数据始终位于第一个工作表中,但此工作表的名称每天都不同。它可以是ARTLIST1,ARTLIST2,ARTLIST(3),ARTLIST-4等......但总是以ARTLIST开头。 如何告诉VBA脚本只使用第一张表,或者表单总是包含单词ARTLIST(例如ARTLIST *)

 ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(C[-36],'[Stock.xls]ARTLIST1'!R1:R65536,13,0)"
Selection.Copy

非常感谢帮助。提前谢谢!

理查德

2 个答案:

答案 0 :(得分:1)

您可以通过索引引用它并获取名称。然后是公式构建中的name变量。

Dim wsName as string
Dim ws As Excel.Worksheet

Set ws = Application.Worksheets(1)
wsName = ws.Name

ActiveCell.FormulaR1C1 = "=VLOOKUP(C[-36],'[Stock.xls]" & wsName & "'!R1:R65536,13,0)"
Selection.Copy

答案 1 :(得分:0)

使用索引为1的工作表来获取第一张表:

        var format = d3.format('s');
        var format2 = d3.format("0,000")
        var data=  d3.csv("data/table1.csv", function (data) {
            data.forEach(function (d) {
                d.AMOUNT_PA = +Math.round(d.AMOUNT_PA);
                d.AMOUNT_PA = format2(d.AMOUNT_PA)
            });


            var thead = d3.select("#PA_AMOUNT").select("thead").selectAll("th")
            .data(d3.keys(data[0]))
            .enter().append("th").text(function (d) { return d });

            var tr = d3.select("tbody").selectAll("tr")
            .data(data).enter().append("tr");

            var td = tr.selectAll("td")
                .data(function (d) { return d3.values(d) })
                .enter().append("td")
                .text(function (d) { return d })


                .style("color", data.map(function (x) { 

                if(parseInt(x.AMOUNT_PA)<=30)
                    {return "red"}
                else {}
                 }))