我在 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/