СообЧа > База Знаний > Программы > MS Excel

Вопрос

Как, при помощи макроса, изменить часть формулы в одной/ нескольких ячейках?
Суть проблемы: имеется Книга с кучей листов. В каждом Листе есть колонка с однотипными формулами. Захотелось изменить часть формулы, а не целиком. Попробовал записать в макрос последовательность действий, (один из опробованных вариантов: выделяю ячейку, изменяю часть формулы, Enter; все, останавливаю запись; пробовал то же самое и с диапазоном…). Однако, при запуске макроса на другом листе формула как бы копируется из того, в котором писался макрос, а мне требуется только повторение действий с ИЗМЕНЕНИЕМ ЧАСТИ ФОРМУЛЫ, а не всю ее менять. Вот такой вопрос. Заранее благодарю за ответ. Подозреваю простое решение на VBA, но пока только начинаю его изучать.

Ответ

Можно воспользоваться автозаполнением: изменяете в столбце первую формулу. Выделяем ячейку с исправленной формулой. Смотрим в правый нижний угол выделения — там есть маленький черный квадрат — тянем за него мышкой через весь столбец с формулами.
Формула скопируется во все ячейки, причем адреса ячеек и диапазонов ячеек будут скорректированы автоматически, т.е. в формуле в ячейке ниже номера строк в адресах ячеек увеличатся на единицу.
Если существуют ссылки на ячейки, адрес которых надо сохранить неизменным (все формулы ссылаются на одну и ту же ячейку), то для того, чтобы автозаполнение сработало корректно, адрес такой ячейки надо закрепить значками $, например: $A$10. Ну а для того, чтобы правильно работал макрос — после записи его надо еще править, потому как реально в макросе в ячейку записывается формула целиком.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация