powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как программно изменить именованный диапазон в Эксель-2007?
2 сообщений из 2, страница 1 из 1
Как программно изменить именованный диапазон в Эксель-2007?
    #37262429
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обращаюсь к именованному диапазону в СКЛ-запросе.
Хочу перед этим этот диапазон корректировать программно. Записал макрос:
Код: plaintext
1.
2.
3.
With ThisWorkbook.Names("Data0")
    .Name = "Data0"
    .RefersToR1C1 = Worksheets(Data0Sheet).Range(strStartCell).CurrentRegion.Address
End With
В диспетчере имен этот диапазон есть, но при запуске СЕЛЕКТа выдается ошибка "Объект 'Data0' не найден ядром базы данных MS Jet". А когда меняю именованный диапазон вручную ч-з диспетчер имен, СЕЛЕКТ корректно отрабатывает. Где затык может быть?
...
Рейтинг: 0 / 0
Как программно изменить именованный диапазон в Эксель-2007?
    #37263844
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RefersTo должен быть объектом (диапазоном), а не текстовым значением.
Т.е. в коде достаточно удалить .Address

Вот так получше:
Код: plaintext
1.
2.
Sub Test()
  ThisWorkbook.Names.Add "Data0", Worksheets(Data0Sheet).Range(strStartCell).CurrentRegion
End Sub
Если имени нет, то создаст, а если есть, то переопределит RefersTo.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как программно изменить именованный диапазон в Эксель-2007?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]