Excel 2013 vba范围名称计数不工作



我正在使用Excel 2013,无法获得计数也不能列出范围名称。我可以打开Names Manager对话框,列出名称和范围。我使用VBA添加了名称(List1,List2和List3)到工作簿(Set rngTable = c. currentreregion . listobjects . add)。我可以通过使用"List"&intCounter获取与每个列表关联的范围。但是我不能得到名字的数目,也不能得到名字的列表。

我尝试在Excel 2013和2007中执行以下代码,当执行到For I = 1 to namedRanges。Count它返回零(0)。我能做些什么来获得工作簿中命名范围的数量并列出命名范围的名称?非常感谢您的帮助!

Private Sub Something()

Dim namedRanges As Names
Set namedRanges = ActiveSheet.Names
Dim targetSheet As Worksheet
Set targetSheet = Sheet3
targetSheet.Cells.Clear
Dim i As Integer
For i = 1 To namedRanges.Count
    targetSheet.Cells(i, 2).Value = namedRanges(i).Name
    targetSheet.Cells(i, 3).Value = namedRanges(i).RefersToRange.Address
Next

结束子

您的命名范围是否适用于工作表或工作簿?如果它们不限于单个工作表,则需要引用工作簿。

Set namedRanges = ActiveWorkbook.Names

最新更新