我需要定义一个包含公式的命名范围,但是每次都会出错。错误包括对象要求,类型不匹配等。 有谁可以帮助我吗?
基本上是一个诸如NAME1之类的命名范围,它引用:
=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH("NAME"&LFSSPA!$C$25,LFSLookup!$Z$3:$Z$2000,0))
我尝试了以下代码,但是没有用。
Set IMAGE1Range = "=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH(" & "NAME" & ThisWorkbook.Worksheets("sheet1").Range("C25").Value & ",LFSLookup!$Z$3:$Z$2000,0))"
IMAGE1 = "IMAGE1111"
ThisWorkbook.Names.Add Name:=IMAGE1, RefersTo:=IMAGE1Range
答案 0 :(得分:1)
您已经关闭。您无法Set
字符串变量,而只需要在字符串中双引号加倍以在结果中产生一个双引号即可。
Option Explicit
Sub DoTheNameThing()
Dim IMAGE1Range As String
Dim IMAGE1 As String
IMAGE1Range = "=INDEX(LFSLookup!$AC$3:$AC$2000,MATCH(""NAME""&Sheet1!$C$25,LFSLookup!$Z$3:$Z$2000,0))"
IMAGE1 = "IMAGE1111"
ThisWorkbook.Names.Add Name:=IMAGE1, RefersTo:=IMAGE1Range
End Sub