Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Вопрос: Как записать математическое выражение (формулу) из ячейки в макрос VBA?, Как записать выражение типа "=15/2*1,2" в переменную макроса, для дальнейшей модернизации формулы?
 
Добрый день!
Может кто-то сталкивался с подобной задачей и подскажет как её можно реализовать:

Необходимо в ячейку содержащую значение/формулу или математическое выражение добавить множитель на определённый коэффициент, при этом всё что ранее находилось в этой ячейке нужно поместить в скобки (кроме знака равно), но саму формулу оставить неизменной.
Например: в ячейке А1 содержится выражение "=15/2*1,2", после выполнения команды в этой ячейке должна получиться запись "=(15/2*1,2)*K", где K - имя именованной ячейки в этом же файле.

Поиск в интернете не принёс результатов, очень много примеров, как макросом вписать формулу в ячейку или как в соседнюю ячейку записать подправленную формулу из первой. А как записать формулу формата Excel в макрос и затем перезаписать её в этой же ячейке, примеров не нашёл...

Пока я дошёл до следующей формулы:
Код
Dim xPrice
Set xPrice = ActiveCell
  ActiveCell.Formula = "=(" & xPrice & ")*курсЕ" 

В данном случае цена в активной ячейке домножается на курс Евро (значение которого указано в именованной ячейке курсЕ)

Но формула работает не совсем корректно...

1) При попытке присвоить переменной xPrice атрибут String, в переменную перестаёт записываться содержимое ActiveCell...

2) Если в ячейку записано "=10/2", то макрос срабатывает, но переменной xPrice присваивается значение, а не формула и в итоге вместо требуемой строки в формуле "=(10/2)*курсЕ", записывается "=(5)*курсЕ", т. е. теряются необходимые данные.

P. S. Почему-то данная формула перестала работать, если переменной xPrice присваивается дробное число. Хотя изначально макрос выполнялся.

В дальнейшем скрипт планируется нарастить проверками ячейки на содержимое. Например, чтобы случайно не помножить 2 раза на курс Евро или не брать выражение в скобки если оно уже в них.

Макросу планируется присвоить комбинацию горячих клавиш, при нажатии которой в активную ячейку добавлялся бы множитель.

Спасибо!

Страницы: 1
Наверх