Макрос преобразования текста в формулу, Нужно сделать макрос, который при изменении определенного диапазона ячеек на листе запускал бы макрофункцию "=ВЫЧИСЛИТЬ()"
Доброго времени суток, уважаемые форумчане! Задача: сделать файл-каталог, который бы рассчитывал расход материала на каждую деталь. Пока вся работа на начальном этапе, поэтому описание: 1. Выбираем из раскрывающегося списка (столбец B) нужную деталь 2. Автоматически (с помощью функции "ЕСЛИ") в колонке ПАРАМЕТРЫ будут появляться необходимые поля для заполнения параметров (пока эти ячейки просто обозначил желтым цветом). 3. При выборе конкретной детали (столбец B) в столбцы X, Z и AB с помощью функции ВПР будет загружаться текст необходимой формулы для расчета (с ссылками на параметры в столбце В. 4. Чтобы формулы "заработали" я для каждой формулы в соседнюю слева ячейку вставил макрофункцию =ВЫЧИСЛИТЬ 5. Чтобы макрофункция "сработала", нужно зайти в ячейку, где она записана (столбцы W, Y и AA) и нажать ENTER.
ВОПРОС: как сделать так, чтобы при заполнении параметров (столбец B) и количества (столбец S) изделий макрофункции (или макрос) автоматически запускались и рассчитывали необходимые данные?
п.с. признаюсь, с макросами не работал никогда и с VBA совсем не знаком. ОЧЕНЬ надеюсь на Вашу помощь! Заранее спасибо!
Для работы макрофункции, макросы, как таковые, все равно должны быть разрешены, поэтому, может будет более рациональнее, полностью на них перейти? Производить нужные расчеты в коде, а на лист выгружать готовый результат
Согласие есть продукт при полном непротивлении сторон
Я только "за"... но макросы, к сожалению, писать не умею, а вот макрофункцию в интернете отрыть сумел)) Мне не принципиально использовать "ВЫЧИСЛИТЬ". Главное, чтобы текстовая функция превращалась в рабочую.
У вас в ячейках текст, он не меняется, и так как Excel не чувствует что что-то изменилось и надо пересчитать, то это и не пересчитывает. Изменить это можно только сделать не текст, а формулу, которая зависит от изменяемых значений, пусть даже эти значения не влияют на эту формулу. Например X4 записать так ="(E4/1000+G4/1000)*2*U4"&IF(E4+G4+U4;"";"")
Поэтому я и пришел на этот форму за помощью - чтобы добиться автоматического пересчета :-) Если можно заменить макрофункцию "ВЫЧИСЛИТЬ" макросом - отлично. Дело в том, что я никогда их не писал. Отсюда и решаю этот вопрос теми способами, которые мне знакомы)) Но если кто-нибудь напишет нужный макрос - радости и благодарности моей не будет границ)))
Пока проблема решена таким образом: на кнопку записан макрос нажатия "Ctrl+Alt+F9" - это дает пересчет всех формул, в т.ч. и макрофункций.