2016-10-14 3 views
0

Я использую Excel 2013 и не могу получить счет или список имен диапазонов. Я могу открыть диалоговое окно «Менеджер имен», в котором перечислены имена и диапазоны. Я добавил имена (List1, List2 и List3) в книгу, используя VBA (Set rngTable = c.CurrentRegion.ListObjects.Add). Я могу перебирать именованные диапазоны, используя «List» & intCounter, чтобы получить диапазоны, связанные с каждым списком. Но я не могу получить количество имен или список имен.excel 2013 число имен доменов vba не работает

Я попытался следующий код в Excel 2013 и 2007, когда выполнение дойдет до строки Для г = 1 Для namedRanges.Count возвращает ноль (0). Что я могу сделать, чтобы получить количество именованных диапазонов в рабочей книге и перечислить имена названных диапазонов? Ваша помощь очень ценится!

Private Sub Нечто()

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 

End Sub

ответ

0

Ваши именованные диапазоны области видимости листа или книги? Если они не ограничены одним листом, вам нужно вместо этого ссылаться на коллекцию workbook.Names.

Set namedRanges = ActiveWorkbook.Names 
+0

Я решил проблему. Когда я добавил имена в рабочую книгу, они были добавлены как объекты списка. Я пересмотрел код, чтобы выбрать текущий регион и добавить имя для этой области диапазона. Теперь названные диапазоны можно подсчитать и указать в использовании вышеуказанного кода. Невозможно выполнить, когда имя является объектом списка. Спасибо за ваш ответ Werrf! – skybiker

Смежные вопросы