Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Редактирование формул VBA через лист Excel
 
Уважаемые форумчане, прошу помощи.
Никак не могу придумать решение следующей задачи:
Есть одна книга, в которой хранится макрос и различный параметры для его выполнения.
Есть вторая книга, в которой хранятся нужные данные ( она открывается макросом через путь, который сохранен на листе первой книги).

Задача необходимо программно высчитывать определенные значения по определенной формуле, используя данные из второй книги.
Нюанс: "определенная формула" может меняться.
Чтобы я хотел видеть в результате:
На листе первой книги написано "Сумма/задания", макрос понимает, что "/" - это разделить.
Следующий нюанс "сумма" и "задания" - это названия столбцов второй книги, т.е. если завтра столбец переименуют из "сумма" в "итого", то изменив на первом листе формулу с "сумма/задания" на "итого/задания", то все должно работать. Как по слову сделать доступ к нужному столбцу - я знаю.
Проблема, в которой прошу помощи:
как интерпретировать формулу " с листа" в "формулу VBA", грубо говоря, как научить VBA понимать, что / - это разделить, а * - это умножить и т.д.

П.С. если уже где-то подобное обсуждалось - прошу прощения, не смог придумать корректный поисковый запрос.
 
WorksheetFunction.Find("/", текст_где_ищем)
Select Case
в помощь
 
Забыл добавить:
Формулы будут типа (x+y)/z, т.е.  со скобками.
Я знаю, как получить формулу из ячейки, но она в VBA отражается как строковая переменная, нужно "научить" VBA воспринимать эту формулу и понимать, что x,y,z, - это переменные, ну и остальные операторы распознавать, естественно....
 
Через Select Case  - понятно, но прописывать все случаи - как-то несерьезно, т.к. формулы могут меняться достаточно серьезно.
 
не совсем понял в чем суть, но может быть здесь получится применить Evaluate?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Не серьезный у вас подход к задаче. Где пример?
 
О!
Спасибо!
Функция делает то, что мне нужно!
Буду доделывать все остальное  :)

Теперь нужно сделать так, чтобы макрос понимал, что "сумма" - это переменная ...
Изменено: Dimonko - 1 Ноя 2013 17:33:29
Страницы: 1
Читают тему (гостей: 1)