Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2009, 20:07   #1
alex_r
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 30
По умолчанию Step in formula

Привет всем!

Нужно макросом реализовать аналог кнопки 'step in' в 'Evaluate formula'. Т. е. имеется в определенной ячейке формула (например = А1*А2). При применении макроса нужно что бы ссылки на ячейки заменились на формулы из этих самых ячеек. В приложенном файле показан предполагаемый результат макроса.

Exell 2003
Вложения
Тип файла: rar step in formula.rar (1.5 Кб, 10 просмотров)
alex_r вне форума Ответить с цитированием
Старый 03.04.2009, 20:22   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ну в принципе можно всё это реализовать.
Правда, придётся учесть множество нюансов...

А зачем всё это нужно?
EducatedFool вне форума Ответить с цитированием
Старый 03.04.2009, 20:56   #3
alex_r
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 30
По умолчанию

Один из примеров в файле. Сверху показан отчет, который собирается из данных приведенных внизу. Далее он сортируется по убыванию. При сортировке получается какая то фигня. Тупо Copy ---> Paste Value не могу, так как должен обязательно показать откуда какая цифра пришла. Если получится макрос, то после составления начальной таблицы, ссылки на ячейки меняются на внешнии формулы, и далее сортируется без проблем.
Вложения
Тип файла: rar example.rar (2.7 Кб, 14 просмотров)
alex_r вне форума Ответить с цитированием
Старый 04.04.2009, 10:38   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а так не устроит?
Вложения
Тип файла: rar Книга72.rar (4.9 Кб, 11 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.04.2009, 11:42   #5
alex_r
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 30
По умолчанию

Да в принцепе конкретный пример можно и проще решить, достаточно добавить $ в формулу. Просто я его привел как возможный вариант применения макроса.
alex_r вне форума Ответить с цитированием
Старый 06.04.2009, 20:30   #6
alex_r
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 30
По умолчанию

А возможно вообще вытащить из формулы ссылки на конкретные ячейки? Например если у нас формула =а1*а2, то на выходе получается массив {a1,a2}.
alex_r вне форума Ответить с цитированием
Старый 07.04.2009, 05:29   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

С помощью VBA это делается просто. Пусть ячейка "A1" содержит формулу со ссылками на другие ячейки. Получить адреса всех ячеек, участвующих в формуле, можно так:
Код:
MsgBox [A1].DirectPrecedents.Address
Необходимо иметь ввиду, что данная функция работоспособна только в пределах рабочего листа.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 07.04.2009, 08:02   #8
alex_r
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 30
По умолчанию

О! Как раз то, что мне и нужно. Спасибо огромное. Буду эксперементировать теперь
alex_r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как связать среду разработки Delphi, с компонентами Simatic Step 7 Rid Компоненты Delphi 8 26.03.2011 15:02
bass.dll - ошибка - Use the step or run to continue. vitalik007 Общие вопросы Delphi 1 20.08.2007 19:59