Цикл по рабочему листу и присвоение именованного диапазона диапазона рабочего листа имени рабочего листа - PullRequest
0 голосов
/ 25 марта 2019

У меня есть рабочая книга, в которой есть рабочие таблицы для каждого штата США.

Я хочу пройтись по каждому листу и назначить именованный диапазон для данных в таблице в качестве имени листа.

Прямо сейчас я настроил его так, чтобы он проходил по всему листу, пропуская лист, который я хочу пропустить, и устанавливая правильный диапазон. Однако в итоге было создано 50 именованных диапазонов для первого листа.

Sub Sheetloop()
Dim ws As Worksheet
Dim rng As Range
Dim ws_name As String
For Each ws In Worksheets
    If ws.Name <> "GA_AVERAGE" Then
       ws_name = ws.Name
       Set rng = Range("A2:N" & Range("A" & Rows.Count).End(xlUp).Row)
       rng.Name = ws_name
    End If
Next
End Sub

Я ожидаю, что каждому листу будет присвоен соответствующий диапазон имен, привязанный к данным на листе.

1 Ответ

1 голос
/ 25 марта 2019

Вы не ссылаетесь на лист каждый раз, поэтому вам нужно.

ws.Range("A2:N" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row)

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