Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有定义名称范围的VBA Vlookup_Vba_Excel - Fatal编程技术网

具有定义名称范围的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)上做更多的工作