Страницы: 1
RSS
Определить имена, влияющие на ячейку
 
Добрый день!
Существует ячейка с хитрой формулой. Она ссылается на другие ячейки, что легко определить через Precedents. Но, если с целью упростить формулу, ссылки на ячейки заменить на имена, предыдущий вариант не работает. Возникает вопрос, как определить, на какие имена ссылается формула (чтобы потом перейти к ячейкам из этих имен)? Тупо парсить формулу, сопоставляя ее со списком всех имен на предмет их вхождения, неохота.
 
Файл-пример будет? Как есть - Как надо
Согласие есть продукт при полном непротивлении сторон
 
А вот  =ВПР($C10;_pvt;ПОИСКПОЗ(_15;_pvt[#Заголовки]))
_15 - имя, ссылающееся на одну ячейку. Надо увидеть эту самую ячейку.
 
клик по списку имен
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Да нет. Увидеть программно, причем "из формулы". Ну, к примеру, кликаю я пару раз по ячейке с формулой, обрабатываю событие с аргументом Target, и выявляю все ссылки в этой формуле, как прямые, так и опосредованные (через имена).
 
Ну определили. Цель конечная какова?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
В данном конкретном случае - я использую значения ячеек-аргументов для установки фильтра на Таблицу 1. Таблица2 с анализируемой формулой содержит агрегированные данные Таблицы 1.  Сама формула длинная, сложная и - может меняться. Но всегда ссылается на определенные ячейки (прямо или через имя).
 
Похоже, Вы идете не в ту сторону.
Создайте тему с названием, отражающим суть задачи (основной, а не придуманной), прикрепите пример в файле Excel. Вот там и будем думать.
 
Ну я-то ее вижу именно так, как изложил. А основная задача решена, возможно, не самым лучшим образом, но меня пока устраивает. Остался нерешенным только вопрос топика. Могу ее сформулировать так: как определить, на какие имена ссылается формула в ячейке, не проводя парсинга этой формулы?
Изменено: lucas - 13.03.2016 18:13:00
 
Часто бывает, что придуманная пользователем реализация неоптимальна. Потому и предложил создать тему по задаче, которую пытаетесь решить таким образом.
Но - как хотите.
 
Попробуйте так..
Изменено: Маугли - 14.03.2016 12:16:07
 
Спасибо, работает. Но есть одно но - работает для влияющих ячеек, расположенных на том же листе, что зависимая. Попытки активировать другие листы и получить влияющие ячейки на них, результатов не дали. Это принципиальное ограничение или, все же, можно как-то увидеть влияющие ячейки с других листов (а лучше - и других книг)?
 
У DirectPrecedents ограничено одним листом. Могу ошибаться, не шибко грамотный )
Вы так и не ответили -зачем? Спецы могли бы помочь.
 
Да вроде ответил в #7, как смог. Жаль, что на одном, но все равно, спасибо.
 
.. тем более, что выход есть - никто не мешает в ячейку Листа1, на которую ссылается Имя, поставить не значение, а ссылку на ячейку Листа2. Немного через ..., но работает.  
 
Цитата
lucas написал:
можно как-то увидеть влияющие ячейки с других листов (а лучше - и других книг)?
Попробуйте коды отсюда: http://www.excel-vba.ru/forum/index.php?topic=3361.0
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
И тут все работает. Собственно, задача решена, спасибо. Но - нет предела совершенству. Определены ведь в действительности влияющие ячейки, а не влияющие ИМЕНА. Я сейчас навскидку не отвечу на вопрос "зачем". Наверное, просто синтаксис формул получается нагляднее. А вот влияющие имена можно определить? Вариант - а найти-ка сам имена по определенным областям просьба не предлагать, как банальный и не соответствующий духу форума.
 
Цитата
lucas написал:
Вариант - а найти-ка сам имена по определенным областям просьба не предлагать, как банальный и не соответствующий духу форума.
Ну тогда духу форума будет соответствовать хоть один вариант от Вас :) А то идей у Вас много - в реализации ждете от других, да от других. Вам накидали вариантов для начального этапа - попробуйте что-то с ними придумать, совместить...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Ну вот, а как хорошо начиналось.. Пока не совмещается что-то, текучка проклятая заела, некогда о великом подумать. Ну если что придумаю - напишу.
 
Цитата
lucas написал:
Ну вот, а как хорошо начиналось.. некогда о великом подумать
ну если Вам некогда над своей же хотелкой думать - другим-то это еще меньше надо :) Так что ждите того, кому это будет интересно по личным соображениям. Для меня алгоритмически не интересно - только трата времени.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Да вот собственно - Selection.Name.Name оно и есть. Это к Вашему примеру, если выделена влияющая ячейка и в ней имя, так мы его и получим.
Страницы: 1
Читают тему
Наверх