Как перебрать коллекцию имен и вернуть размер объектов? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь перебрать коллекцию Имен, и каждое Имя, которое соответствует требованию определенного размера (столбца), изменяется (вызывается в другом подпункте).

Когда я пытаюсь передать имена, возвращенные в Range, я получаю ошибку ниже.

«Ошибка времени выполнения« 1004 »: метод« Range »объекта« _Global »не выполнен.

Sub colCounts()
    Dim wb as Workbook
    Dim nm as Name
    Dim rng as Range
    Set wb = ActiveWorkbook

    For Each nm in wb.Names
        debug.print nm.Name ' verify loop returning as expected
        Set rng = Range(nm.Name) 'this line throws the error when added
        debug.print nm.Name & " " & rng.Columns.Count
    Next nm
End Sub

Я также попытался сначала передать имя в строку:

Dim str as String
.....
str = nm.Name
Set rng = Range(str)

1 Ответ

0 голосов
/ 03 апреля 2019
Sub colCounts()

    Dim wb As Workbook
    Dim nm As Name
    Dim rng As range

    Set wb = ActiveWorkbook

   For Each nm In wb.Names

       Set rng = ThisWorkbook.Names(nm.Name).RefersToRange
       Debug.Print nm.Name & " " & rng.Columns.Count

    Next nm

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...