Excel 命名范围不可访问
在VBA中,我尝试引用另一个工作表中的命名范围。由于某种原因,它没有被找到。名字是空的 代码非常简单Excel 命名范围不可访问,excel,vba,Excel,Vba,在VBA中,我尝试引用另一个工作表中的命名范围。由于某种原因,它没有被找到。名字是空的 代码非常简单 If Not Intersect(Target, rngDV) Is Nothing Then strDVList = Range("Lists!PillarList").RefersTo MsgBox ("String: " + strDVList) frmDVList.Show End If 如果在A列中单击表中的行,则
If Not Intersect(Target, rngDV) Is Nothing Then
strDVList = Range("Lists!PillarList").RefersTo
MsgBox ("String: " + strDVList)
frmDVList.Show
End If
如果在A列中单击表中的行,则会激活该选项 所需的MsgBox需要此语法,因为您不是询问范围的名称,而是询问名称的范围
MsgBox "String = " & Names("PillarList").RefersTo
您声明我尝试引用另一个工作表中的命名范围,但您没有特定引用代码中的任何
工作表
对象。比如,strDVList=Sheet1.Range(“Lists!PillarList”)。referesto
具体指的是Sheet1
。我们也不知道如果没有剩下的代码,Target
或rngDV
是什么。代码在谷歌硬盘上。似乎有人编辑了我的描述来删除它。你在哪里找到的?我的代码与sheet1无关。它是指“列表!”我没有找到sheet1,我用它作为例子。为了使它更清楚一些,请考虑<代码> StrudViste=页(“列表”)。Range(“pILARLIST”)。RefersTo < /代码>。我也没有打开您的工作簿或查看其中的代码。考虑到在你的问题中有更多的相关代码(如果是首选的话),如果在上下文或明晰中有任何东西需要添加的话。真正的问题是我试图改变这个字符串的定义:Trase= Talk.Valuest.Frima1Strist=右(Strube,Len(StrLIST)- 1)。strDVList=strList,以引用命名范围的内容。这个字符串用于列表框的初始化。真正的问题是你没有告诉我们你真正的问题是“在列表框的初始化中”。考虑通过把目标问题转移到实际的焦点或者问一个新的问题来改变整个目标。同时,如果您有一个名为MyRange
的范围,并且该范围是指A3:C31,那么range(“A3:A31”)
和range(“MyRange”)
将具有完全相同的效果,无论您希望将其值分配给列表框还是单元格范围。永远不需要将一种语法转换为另一种语法,将一个名称转换为另一个名称,将名称转换为它所代表的引用。