我无法使用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‘。对象不支持此属性或方法。有什么想法吗?
发布于 2019-03-23 09:49:27
您需要一个字符串,该字符串是指向外部工作簿的完全格式且带适当标点符号的地址
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))"
如果省略了可选的第四个参数,则需要以升序方式对数据进行排序。
https://stackoverflow.com/questions/55312220
复制