2014-11-06 52 views
1

我遇到范围名称有点问题。我已将Range(“A1”)命名为myRange,该名称也出现在“公式/名称”选项卡的名称列表中。该范围的“名称”属性包含参考

然而,插入我的工作在工作表的“更改”事件下面的代码片段是返回引用,而不是名称:

Private Sub Worksheet_Change(ByVal Target As Range) 
    MsgBox Target.Name 
End Sub 

enter image description here

谁能给我解释一下我错了?我宁愿期待MsgBox显示myRange,而不是现在显示的内容。提前致谢。

回答

2

试着这么做:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim nm As String 
    On Error Resume Next 
    nm = Target.Name.Name 'will error if Target<>whole named range 
    On Error GoTo 0 
    Debug.Print Target.Address(), nm 
End Sub 
+0

+ 1对不起,但必须关闭它作为一个重复。 – 2014-11-06 17:37:26

+0

@SiddharthRout,你是对的。对于一个非常愚蠢的错误,我尝试了解决方案Range.Name.Name,它不起作用,所以我认为这不是我的问题。我应该删除这个问题还是把它留作重复(并最终接受Tim的答案)?在这种情况下不知道正确的程序 – 2014-11-06 17:42:01

+0

@MatteoNNZ:自从Tim已经回答它之后,不要删除它。不确定在问题被标记为重复之后是否可以接受答案。但是,如果你可以,那么我可以离开你的决定:) – 2014-11-06 17:44:18

相关问题