我无法使用VLOOKUP函数搜索作为变量的wookbook。一种按日期更改名称的方法。
所以我是VBA和编码方面的新手。根据日期拥有一个可变的工作簿。对此进行VLOOKUP似乎是一个问题。通过在线阅读,似乎可以将其作为字符串完成,但它已经是一本工作簿。
因此请记住,我已经将wkbk设置为一个变量(我已对该网站进行了裁剪,该变量在名为dd.mm.yyyy.xlsx的工作簿中搜索从当前日期开始倒数的先前日期,并且部分工作正常)。
Dim wkbk As Workbook
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK(RC[-9]),"" "",VLOOKUP(RC[-9],'" & wkbk & "easy_form_response_list'!C1:C12,10))"
我期望的是对工作簿和工作表的查找-我得到的是运行时错误'438'。对象不支持此属性或方法。有什么想法吗?
答案 0 :(得分:1)
您需要一个字符串,该字符串是外部工作簿的
的格式正确且标点正确的地址Dim wkbk As Workbook, addr as string
SET wkbk = WORKBOOKS("THE_SOURCE_WORKBOOK.XLSX")
addr = wkbk.worksheets("easy_form_response_list").Range("A:L").Address(ReferenceStyle:=xlR1C1, External:=true)
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK(RC[-9]), text(,), VLOOKUP(RC[-9], " & addr & ", 10))"
您确定不需要吗?
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK(RC[-9]), text(,), VLOOKUP(RC[-9], " & addr & ", 10, FALSE))"
如果省略可选的第四个参数,则数据需要按升序排序。