我正在尝试编写一个脚本,该脚本将删除现有的命名区域,然后根据工作表中的列表定义新的命名区域。脚本目前是这样的。Sub NamingRanges()
Dim nm As Name
For Each nm In ThisWorkbook.Names我试着把"MsgBox nm“放在nm.delete行的前面,它返回=#NAME?在对话框中。即使名称管理器中没有名称。我真的希望有人能在这方面帮助我。
无法删除具有#NAME的命名范围? 如何添加到我的VBA中以删除此内容?我已经创建了下面的代码,它删除了我工作簿中除一个之外的所有命名区域,详细信息如下: 名称:_xlfn.IFERROR值:#名称?参考:=#NAME?'Delete All Named RangesOn Error Resume Next
For Each xName In ActiveWor
我有一些代码可以将数据从一个主文件复制到另一个主文件,然后删除命名范围并根据主文件重新创建它们(无法找到更好的方法来完成此操作)。问题是,如果我运行一次代码,数据副本和所有命名区域只会被删除。如果我再次运行它,就会创建命名范围。你知道它为什么要这么做吗?FalseSet UserWkbk = ThisWorkbook
Dim NR As Na
我有一个工作簿,它的命名范围非常大(远远超过200)。我确实需要一种快速、轻松地处理所有命名范围的方法,这样我就可以使用VBA来处理/填充它们。到目前为止,我的解决方案一直是在我的公共NamedRanges模块中的一堆get properties中设置代码,以设置与命名范围相等的属性,如下所示:
Public Property Get LotNumber49LotNumber49 = Common.GetRange(Stri
有一个VBA按钮正在工作(遗憾的是,VBA有密码保护),我一直在尝试复制它。它被称为类似于"name range with top“的东西。您在表格中的任意位置选择一个单元格并单击该按钮,它将为表格中的每一列创建一个本地命名区域(即工作表的局部命名区域,而不是覆盖整个电子表格的全局命名区域),其中包含每列顶部单元格的名称,即列标题。如果页眉中的值或工作表的名称中有空格,则会出现错误-这似乎是命名范围的通常要求,即其名称中没有