Добрый вечер всем! Нужна помощь в использовании дробных переменных в формулах, вводимых макросом. Есть некая пользовательская форма, в которой выбирается скидка галочками и вводится формула с этой скидкой в определенные ячейки в листе. При выборе первой галочки, все отрабатывается нормально, ошибок нет, при выборе любой другой галочки, появляется ошибка application-defined or object-defined error. Понимаю, что это связано с дробными переменными (соответствующую переменную объявил), но не понимаю, в чем именно проблема. Дайте пояснения пожалуйста. Важно, чтобы вводилась именно формула, а не вычисленное значение.
Юрий М написал: Зачем макросом вставлять формулу? Считайте в коде и вставляйте значение.
Это специфика работы и обсуждению не подлежит, так надо. Короче говоря, это часть сложной системы, для составления спецификаций, и в нем нужно видеть формулы, правильный ли коэффициент использовано, частенько меняются цены, поэтому нужно формулой.
Юрий М написал: Что-то Вы перемудрили с именем листа - к чему такие сложности?
С именем тоже вынужденная мера, в спецификации может быть несколько листов, и в VBA не пропишешь, на какой лист, на какую ячейку вставить формулу. Необходимо определить, с какого листа была активирована эта форма, в какой ячейке было выделение. Поэтому код считывает имя активного листа, координаты выделенного диапазона, и вставляет туда формулу.
Спасибо! Все работает. Правда, сколько бы не читал про эту функцию, все равно ничего не понял, как она работает, и как она связана с запятыми. Ну да ладно, новичек я пока, пойму со временем.
Все верно. Меняем запятую на точку, которая является общим десятичным разделителем. Это потом она в ячейке для вас становится снова запятой, но это уже делает формат ячейки.