vba - 在 VBA 中引用多表命名范围

标签 vba excel

我在 Excel 中有一个命名范围,我正在尝试使用 VBA 清除它。

范围的问题是跨越多个工作表,我不确定如何正确引用 VBA 中的命名范围,因为它涵盖了多个工作表。

命名范围“计数”设置为具有以下单元格引用的工作簿范围:

=Sheet1!$A$1, Sheet2!$A$1, Sheet3!$A$1

在清除仅在一张纸上引用单元格的命名范围时,我使用以下内容:
ThisWorkbook.Sheets("Sheet1").Range("Counts").ClearContents

我尝试了以下方法,但似乎都不起作用。
ThisWorkbook.Range("Counts").ClearContents


Range("Counts").ClearContents

最后一个给了我一个全局错误。

最佳答案

而不是跨越多个工作表的范围(正如我们已经建立的那样,这不起作用),您需要每个工作表中的工作表范围范围。

定义范围名称时,您可以将其范围设置为工作簿或当前工作表。这样,您可以在许多工作表中使用相同的范围名称。

使用 VBA 循环遍历所有工作表,访问当前工作表上的 ws.Range("TheRangeName") 并清除其内容。

这是一种更清洁的方法。

关于vba - 在 VBA 中引用多表命名范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34848307/

相关文章:

vba - 超链接屏幕提示导致工作簿需要修复

python - 是否可以在没有任何 python 库的情况下从 xlsx 文件中读取信息?

excel - 将 Excel 值转换为单词(英文)

excel - 比较两个单元格并用符号显示输出

excel - Excel VBA倒数计时器-代码崩溃的Excel

arrays - 是否可以将字典添加到 Excel VBA 中的数组?

vba - 使用 FollowHyperlink 打开打开的 PDF 后将其关闭

arrays - 使用数组加速 For 循环

c# - 如何将 Epplus 与包含几行的单元格一起使用

vba - 获取Excel INDEX函数找到的值的单元格引用