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

Вход

Регистрация

Напомнить пароль

 

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

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

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

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

Excel 365 & Mac Excel
Здравствуйте.
У Вас именованная формула, а не диапазон. Попробуйте так
[vba]
Код
Sub Пример()
    Dim Темп As Variant
    Темп = Evaluate(ThisWorkbook.Names("Темп1").RefersTo)    ' использование переменной из Диспетчера имен
    MsgBox Темп
End Sub
[/vba]


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

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

Excel 2007
Попробуйте так

Спасибо, все заработало так как нужно)
 
Ответить
Сообщение
Попробуйте так

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

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

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


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

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

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