我们在 Excel 的【名称管理器】里可以对定义的名称进行编辑,但是如果定义的名称是隐藏的,则无法在【名称管理器】里查看或编辑。
定义隐藏的名称
以下示例使用 Names.Add 方法定义一个隐藏的名称:Site
,值为:果果云课堂
。此名称由于是隐藏的,所有无法在【名称管理器】里查看或编辑。虽然名称是隐藏的,但是使用方法跟普通的名称是一样的。
Sub AddHiddenName()
ThisWorkbook.Names.Add Name:="Site", RefersTo:="果果云课堂", Visible:=False
End Sub
Names.Add 方法
Names.Add 方法为单元格区域定义新名称。
语法
Names.Add (Name, RefersTo, Visible, MacroType, ShortcutKey, Category, NameLocal, RefersToLocal, CategoryLocal, RefersToR1C1, RefersToR1C1Local)
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Name | 可选 | Variant | 指定要在未指定 NameLocal 参数时用作名称的英文文本。名称不能包括空格,并且不能设置为单元格引用的格式。 |
RefersTo | 可选 | Variant | 如果未指定 RefersToLocal、RefersToR1C1 和 RefersToR1C1Local 参数,则使用 A1 样式表示法描述名称所引用的名称。
注意:如果引用不存在,则 不返回任何 内容。 |
Visible | 可选 | Variant | True 指定将名称定义为可见。False 指定将名称定义为隐藏。已隐藏的名称不会在“定义名称”、“粘贴名称”或“转到”对话框中显示。默认值为 True 。 |
MacroType | 可选 | Variant | 由以下值之一确定的宏类型:
|
ShortcutKey | 可选 | Variant | 指定宏的快捷键。必须是单个字母,例如“z”或“Z”。仅适用于命令宏。 |
Category | 可选 | Variant | 如果 MacroType 参数等于 1 或 2,则此参数为宏或函数的分类。该分类在“函数向导”中使用。可以用数字(从 1 开始)或名称(以英文指定)引用现有的分类。 如果指定的类别不存在,Excel 将创建新类别。 |
NameLocal | 可选 | Variant | 如果未指定 Name 参数,则指定要用作名称的本地化文本。名称不能包括空格,并且不能设置为单元格引用的格式。 |
RefersToLocal | 可选 | Variant | 如果未指定 RefersTo、RefersToR1C1 和 RefersToR1C1Local 参数,则说明名称引用的内容(使用 A1 格式表示法以本地化的文本表示)。 |
CategoryLocal | 可选 | Variant | 如果未指定 Category 参数,则指定标识自定义函数分类的本地化的文本。 |
RefersToR1C1 | 可选 | Variant | 如果未指定 RefersTo、RefersToLocal 和 RefersToR1C1Local 参数,则说明名称引用的内容(使用 R1C1 格式表示法以英文表示)。 |
RefersToR1C1Local | 可选 | Variant | 如果未指定 RefersTo、RefersToLocal 和 RefersToR1C1 参数,则说明名称引用的内容(使用 R1C1 格式表示法以本地化的文本表示)。 |
显示隐藏的名称
以下示例将名称 Site
设置为隐藏:
Sub ShowName()
ThisWorkbook.Names("Site").Visible = True
End Sub
隐藏所有名称
以下示例将名称活动工作簿的所有名称设置为隐藏:
Sub HideAllName()
Dim objName As Name
For Each objName In ActiveWorkbook.Names
objName.Visible = False
Next objName
Set objName = Nothing
End Sub
显示所有名称
以下示例将名称活动工作簿的所有名称设置为可见:
Sub ShowAllName()
Dim objName As Name
For Each objName In ActiveWorkbook.Names
objName.Visible = True
Next objName
Set objName = Nothing
End Sub