Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Вставить формулу на лист средствами VBA, проблему вызвают адреса ячеек в формуле
 
и да... вот рабочий код который сделан с помощь гуру. это для тех кто столкнется с таким вопросом:

Код
'Процедура вставки формул
Private Sub InsertFormula()
With Sheets("PEE")
        .Cells(ActiveCell.Row, 4).FormulaR1C1Local = "=ЕСЛИ(ЕОШИБКА(ВПР(RC2;Данные!C1:C2;2;ЛОЖЬ));"""";ВПР(RC2;Данные!C1:C2;2;ЛОЖЬ))" 'для столбца D
        .Cells(ActiveCell.Row, 8).FormulaR1C1Local = "=ЕСЛИ(ЕОШИБКА(ВПР(RC4;Данные!C2:C3;2;ЛОЖЬ));"""";ВПР(RC4;Данные!C2:C3;2;ЛОЖЬ))" 'для столбца Н
        .Cells(ActiveCell.Row, 12).FormulaR1C1Local = "=ЕСЛИ(ЕОШИБКА(RC9/(RC8*0,82));"""";RC9/(RC8*0,82))"                                                       'для столбца L
    End With
End Sub
Вставить формулу на лист средствами VBA, проблему вызвают адреса ячеек в формуле
 
Спасибо, уважаемые! низкий поклон LightZ, ikki, отдельное спасибо The_Prist, и vikttur, Вопрос решен. Тема закрыта
Вставить формулу на лист средствами VBA, проблему вызвают адреса ячеек в формуле
 
поверьте - нужны! таблицу заполняют люди очень далекие от макросов.. в то же время для последующего анализа данные должны быть максимально унифицированы. Поэтому и возникло такое решение.
Вставить формулу на лист средствами VBA, проблему вызвают адреса ячеек в формуле
 
Добрый день, уважаемые гуру! Прошу вашей помощи!

Есть таблица, по мере заполнения которой нужно вставлять из кода VBA в некоторые ячейки формулы.
особенность формул такова, что часть данных берется с текущего листа (PEE), а часть из другого (Данные)
Адреса ячеек в формулах то же надо как то менять, таблица то растет...
При выполнении процедуры возникает ошибка выполнения - мне кажется она связана с адресами ячеек.
Мне кажется нужно как то подменить адреса в формуле на переменные.. ну или я не знаю.. второй день лопачу интернет - похожего не вижу.
Прошу помощи!
использую Excel 2010

Код
Private Sub InsertFormula()
    With Sheets("PEE")
    .Cells(ActiveCell.Row, 4).Formula = "=ЕСЛИ(ЕОШИБКА(ВПР(B130;Данные!A:B;2;ЛОЖЬ));"";ВПР(B130;Данные!A:B;2;ЛОЖЬ))" 'для столбца  D
    .Cells(ActiveCell.Row, 8).Formula = "=ЕСЛИ(ЕОШИБКА(ВПР(D130;Данные!B:C;2;ЛОЖЬ));"";ВПР(D130;Данные!B:C;2;ЛОЖЬ))" 'для столбца H
    .Cells(ActiveCell.Row, 12).Formula = "ЕСЛИ(ЕОШИБКА(I130/(H130*0,82));"";I130/(H130*0,82))"                       'для столбца L
    End With
End Sub

Желаемый результат - вставка формулы в ячейку с учетом следующего правила: в функции ВПР адрес искомой ячейки - строка относительная столбец абсолютный
Страницы: 1
Наверх