|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2010, 15:24 | #1 |
Регистрация: 09.04.2010
Сообщений: 5
|
Получить ячейку из формулы (VBA, Excel 2007)
Здравствуйте, уважаемые участники форума!
Кто знает как на VBA вытащить колекцию ячеек из формулы? К примеру, у меня есть ячейка на Лист1, в которую я вписал формулу - "=Лист2!C4+Лист2!C24+Лист2!C25" , теперь моя задача получить каждую из этих ячеек в виде объекта Range. Использовать свойство Range.Precedents нельзя, так как ссылки на другой лист. Еще я использовал на самом листе команду - "Влияющие ячейки". Появлялась стрелка с изображение таблички. При двойном щелчке на стрелке открывается диалоговое окно - "Переход", в котором все три ссылки красиво перечисленны в столбик, выбирай любую. '[Отчеты.xlsm]Лист2'!$C$4 '[Отчеты.xlsm]Лист2'!$C$24 '[Отчеты.xlsm]Лист2'!$C$25 Кто знает как решить эту задачу? Заранее всем спасибо! |
09.04.2010, 16:07 | #2 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
Объясни цель сего действа! может что-нибудь другое придумать?
Как вариант могу предложить скопировать формулу на соответствующий лист и Precedents
Нет нерешаемых задач - есть недостаток времени и данных!
|
09.04.2010, 18:21 | #3 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
У меня была похожая задача. Я парсил строку - ищем воскл. знак, а далее обрезаем справа, когда появляется к-н. знак.
|
11.04.2010, 00:03 | #4 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
Ну, если в формуле присутствует лишь один математический знак, например, как в вашем примере "+", то можно решить задачу так
Формула должна быть в ячейке А1 Код:
Последний раз редактировалось Pavel55; 11.04.2010 в 01:10. |
11.04.2010, 01:05 | #5 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
А если в нашей формуле встречаются разные математические знаки *, /, +,-. Например, формула такая
=Лист2!C4+Лист2!C6*Лист2!C8-Лист2!C10/Лист2!C12 то можно написать небольшой макрос. Формула должна быть в ячейке А1 Код:
Последний раз редактировалось Pavel55; 11.04.2010 в 01:10. |
11.04.2010, 04:29 | #6 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Господа, для получения внешних ссылок первого уровня парсить формулу совершенно не обязательно:
Код:
Код:
Последний раз редактировалось Aent; 11.04.2010 в 04:32. |
13.04.2010, 15:40 | #7 |
Регистрация: 09.04.2010
Сообщений: 5
|
Андрей, огроооооооомное Вам спасибо, шикарнейший ответ!!!!!!!
Спасибо всем, кто принимал участие в обсуждении! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как нумеровать формулы в Word-2007 | VistaSV30 | Microsoft Office Word | 17 | 28.01.2014 12:54 |
вставка формулы в ячейку (vba) | pride | Microsoft Office Excel | 5 | 13.07.2009 09:26 |
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 | kovalevskivf | Microsoft Office Excel | 2 | 15.05.2009 16:47 |
Глюк Excel-2007??? Формулы в ячейку из VBA | Rafik | Microsoft Office Excel | 7 | 24.03.2009 13:59 |
Макрос VBA EXCEl - простановка в ячейку номера страницы | Обыватель | Microsoft Office Excel | 1 | 14.02.2008 12:49 |