具有定义名称范围的VBA Vlookup
我有两个工作簿(查找和目标),试图从查找工作簿中定义的名称范围中检索值具有定义名称范围的VBA Vlookup,vba,excel,Vba,Excel,我有两个工作簿(查找和目标),试图从查找工作簿中定义的名称范围中检索值 ...... Set rng = Range(Cells(15, 3), Cells(863, 12)) 'C15:L863 wbkLookup.Names.Add Name:="LookupAreaDK", RefersTo:=rng ...... colDest.Formula = "=VLOOKUP(" & colLookup.Address(False, False) & ", Lookup
......
Set rng = Range(Cells(15, 3), Cells(863, 12)) 'C15:L863
wbkLookup.Names.Add Name:="LookupAreaDK", RefersTo:=rng
......
colDest.Formula = "=VLOOKUP(" & colLookup.Address(False, False) & ", LookupAreaDK ,10,0)"
但是我得到了
#NAME?
作为返回值。语法有什么问题?有人能帮忙吗?谢谢。因此,您需要将地址分配给colLookup,或者创建另一个变量。
然后,这就起作用了:
Dim colLookup As String
colLookup = Cells(1, 4).Address
colDest.Formula = "=VLOOKUP(" & colLookup & ", LookupAreaDK ,3,0)"
colLookup.地址是什么(假,假)?请检查“:它们必须在宏中加倍,如colDest.Formula=“=VLOOKUP(“”&colLookup.Address(False,False)&“”,LookupAreaDK,10,0)”colLookup.Address(False,False)当前为“AG8”。您能告诉我“在宏中加倍”是什么意思吗?Excel文件中显示的公式,带有colLookup的三个引号。地址是:VLOOKUP(”&colLookup.Address(False,False)和“LookupAreaDK;10;0”;而双引号给出:=VLOOKUP(“AG8;LookupAreaDK;10;0)啊,我现在明白了。不,您不需要在这里“转义”引号,但请检查colLookup.Address(False,False)是否工作。我使用范围(“E1”)进行了测试。公式=“=VLOOKUP(&“D1”&“D1”,LookupAreaDK,3,0),它工作得很好。谢谢,我需要在colLookup.地址(False,False)上做更多的工作