如何使用 vba 删除命名范围(带有示例)


您可以在 VBA 中使用以下语法从 Excel 工作簿中删除命名范围:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

以下示例展示了如何在实践中使用此语法。

示例:使用 VBA 删除 Excel 工作簿中的命名范围

假设我们有一个 Excel 工作簿,其中包含以下三个命名范围:

  • Sheet1中名为sheet1_name的命名范围
  • Sheet2中名为sheet2_name的命名范围
  • Sheet3中名为sheet3_name的命名范围

要查看每个命名范围,只需单击工作表左上角“名称”框中的下拉箭头:

假设我们要删除每个命名范围。

我们可以创建以下宏来执行此操作:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

执行此宏后,整个工作簿中的所有命名范围都将被删除。

我们可以通过再次单击其中一张工作表左上角的“名称”框来验证它们是否已被删除:

我们可以看到名称框不再包含命名范围的名称。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

VBA:如何仅粘贴值而不格式化
VBA:如何将可见线复制到另一张纸
VBA:根据条件将行复制到另一张纸

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注