Как средствами vba определить является ли конкретное имя константой, т.е когда имя не ссылается на диапазон (ячейку)
является ли имя именованной константой?
04.04.2013 00:58:54
|
|
|
|
04.04.2013 01:07:44
|
|||
|
|
04.04.2013 07:44:04
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
|
|
|
|
04.04.2013 14:31:46
что, нет решений. как красиво решить задачу?
|
|
|
|
04.04.2013 15:44:58
evgmaz, а вот "на слабо" не нужно - проходили уже...
|
|
|
|
04.04.2013 16:39:34
.RefersToRange не сработает с русскими названиями функций типа СЧЁТ, ИНДЕКС и т.п., которые могут быть в именах динамических диапазонах. Надежнее так:
или так:
При проверке констант, полагаю, достаточно считать, что если не диапазон, то это константа
Изменено: |
|||||
|
|
04.04.2013 17:02:11
Понятно, тогда можно, например, проще:
Если тоже не годится, то приведите примеры имен констант и не констант, с идентификацией которых возникают проблемы. И укажите, что Вы считаете чем. Например, для RefersTo: =1+2 или ="A"&"B" - это по результату константы, но с другой стороны - это вычисляемые константы, то есть формулы
Изменено: |
|||
|
|
05.04.2013 03:53:35
Спасибо, сейчас изучаю ваше решение....
RefersTo: =1 - это константа RefersTo: ==Лист2!$H$15+Лист2!$J$13 - это формула RefersTo: ={"пн";"вт";"ср";"чт"} - это массив Вы правильно уловили мой вопрос...из кучи возможных имен, нужно выбрать конкретного типа (в частности константы, и в частности массивы) |
|
|
|
05.04.2013 04:21:33
[QUOTE]ZVI пишет:
Понятно, тогда можно, например, проще:
Спасибо ZVI.... проверил, работает.... Я правильно понимаю, что для массива можно аналогично только фиг скобку надо выделять.... По другому никак? |
|||
|
|
05.04.2013 06:25:41
Для диапазона можно тоже по аналогии:
Изменено: |
|||||||
|
|
05.04.2013 13:00:04
Спасибо ZVI, Вы даже помнится как-то уже помогали мне еще на старом форуме....
Собственно говоря, Вы продемонстрировали новый для меня аппарат программирования через TypeName и Evaluate. Раньше я только разбирал по частям строку для решения подобных задач. Чувствовал, что можно как-то иначе (более красиво), но не знал! |
|
|
|
05.04.2013 13:35:11
ИМХО. Формально: Имя - это всегда переменная. Даже если =1 или ="а".
Раз стоит "=" , значит вычисляется; вычисляется, значит переменная. |
||||
|
|
|||
Читают тему