Версия для слабовидящих
Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

 

= Мир MS Excel/Как вызвать переменную из Диспетчера имен - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Как вызвать переменную из Диспетчера имен
Vertep7 Дата: Воскресенье, 28.01.2024, 14:00 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте. Подскажите как вызвать переменную из Диспетчера имен. Прошерстил весь интернет но ничего рабочего не нашел, только наоборот все не рабочее. Необходимо что бы именованный диапазон (как я понимаю так называют эту переменную) передавал свое значение в макрос.
Набросал пример, вроде как пишут что подобный вариант должен выполнять эту манипуляцию, но он выдает ошибку.

Sub Пример()
Dim Темп As Variant
Set Темп = ThisWorkbook.Names("Темп1").RefersToRange ' использование переменной из Диспетчера имен
MsgBox Темп
End Sub

К сообщению приложен файл: primer.xlsm (18.2 Kb)
 
Ответить
СообщениеЗдравствуйте. Подскажите как вызвать переменную из Диспетчера имен. Прошерстил весь интернет но ничего рабочего не нашел, только наоборот все не рабочее. Необходимо что бы именованный диапазон (как я понимаю так называют эту переменную) передавал свое значение в макрос.
Набросал пример, вроде как пишут что подобный вариант должен выполнять эту манипуляцию, но он выдает ошибку.
[vba]
Sub Пример()Dim Темп As VariantSet Темп = ТhisWorkbook.Names("Темп1").RefersToRange ' использование переменной из Диспетчера именMsgBox ТемпEnd Sub
[/vba]

Автор - Vertep7
Дата добавления - 28.01.2024 в 14:00
Pelena Дата: Воскресенье, 28.01.2024, 14:17 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19513
Репутация: 4632 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
У Вас именованная формула, а не диапазон. Попробуйте так

Sub Пример()
    Dim Темп As Variant
    Темп = Evaluate(ThisWorkbook.Names("Темп1").RefersTo)    ' использование переменной из Диспетчера имен
    MsgBox Темп
End Sub



"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
У Вас именованная формула, а не диапазон. Попробуйте так
[vba]
Sub Пример()    Dim Темп As Variant    Темп = Evaluate(ТhisWorkbook.Names("Темп1").RefersTo)    ' использование переменной из Диспетчера имен    MsgBox ТемпEnd Sub
[/vba]

Автор - Pelena
Дата добавления - 28.01.2024 в 14:17
Vertep7 Дата: Воскресенье, 28.01.2024, 15:02 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Цитата Pelena, 28.01.2024 в 14:17, в сообщении № 2 ( писал(а)):
Попробуйте так

Спасибо, все заработало так как нужно)
 
Ответить
Сообщение
Цитата Pelena, 28.01.2024 в 14:17, в сообщении № 2 ( писал(а)):
Попробуйте так

Спасибо, все заработало так как нужно)

Автор - Vertep7
Дата добавления - 28.01.2024 в 15:02
Gustav Дата: Воскресенье, 28.01.2024, 16:51 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
На заметку. Мощь функции Evaluate заключается в том, что в ней можно сразу использовать:
* либо имя из Диспетчера имен:

Темп = Evaluate("=Темп1") ' использование переменной из Диспетчера имен


* либо содержимое его поля RefersTo, т.е. формулу "как на рабочем листе" (только в международном американском написании):

Темп = Evaluate("=SUM(Лист1!$A$1:$E$1)")


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


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеНа заметку. Мощь функции Evaluate заключается в том, что в ней можно сразу использовать:
* либо имя из Диспетчера имен:
[vba]
Темп = Evaluate("=Темп1") ' использование переменной из Диспетчера имен
[/vba]
* либо содержимое его поля RefersTo, т.е. формулу "как на рабочем листе" (только в международном американском написании):
[vba]
Темп = Evaluate("=СУММ(Лист1!$A$1:$E$1)")
[/vba]
Начальный знак "=" не является обязательным, но он визуально подчеркивает "формульную сущность" выражений.

Автор - Gustav
Дата добавления - 28.01.2024 в 16:51
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!