Появилась задачка, которая сократит время выполнения работы в три раза. Ничего не получилось найти самому, поэтому и прошу о помощи здесь...Нужно по числам с помощью Excel вычислить результат, а потом занести все числа и результат в готовую формулу в виде формулы из Microsodt Equation 3.0. То есть, допустим, числа 24, 1, 100 и так далее, необходимо перемножить...разделить...сложить, а потом где-нибудь рядом вывести числовую формулу с дробными частями, скобками, знаками равно, с подстрочным текстом и так далее...
Вот пример. Красным выделен результат вычислений всех числе, сверху и из таблиц, а снизу как должны выглядеть конечная готовая формула...
Появилась задачка, которая сократит время выполнения работы в три раза. Ничего не получилось найти самому, поэтому и прошу о помощи здесь...Нужно по числам с помощью Excel вычислить результат, а потом занести все числа и результат в готовую формулу в виде формулы из Microsodt Equation 3.0. То есть, допустим, числа 24, 1, 100 и так далее, необходимо перемножить...разделить...сложить, а потом где-нибудь рядом вывести числовую формулу с дробными частями, скобками, знаками равно, с подстрочным текстом и так далее...
Вот пример. Красным выделен результат вычислений всех числе, сверху и из таблиц, а снизу как должны выглядеть конечная готовая формула...Death4ewer
Вроде, всё получилось. Правда, есть необязательные скобки, но это не критично. А расхождение потому, что в примере неверно сделано округление (или надо округлять в меньшую сторону?, в этом случае вместо ОКРУГЛ используйте функцию ОКРУГЛВНИЗ).
Вроде, всё получилось. Правда, есть необязательные скобки, но это не критично. А расхождение потому, что в примере неверно сделано округление (или надо округлять в меньшую сторону?, в этом случае вместо ОКРУГЛ используйте функцию ОКРУГЛВНИЗ).alex1248
skype alex12481632 Qiwi +79276708519
Сообщение отредактировал alex1248 - Воскресенье, 02.11.2014, 13:23
Не, я говорю про то, чтобы по этим вычислениям эксель сам делал готовую формулу в Equation, то есть что бы он сам считал всё это, а потом вставлял исходные числа и ответ в формулу внизу, чтобы когда цифры изменяться формула в Equation тоже менялась по этим расчётам и в ней были уже другие числа исходные, не 24, а 168, например, не 4200, а 28500 и так далее и в конце вычисленный результат по ним...
Не, я говорю про то, чтобы по этим вычислениям эксель сам делал готовую формулу в Equation, то есть что бы он сам считал всё это, а потом вставлял исходные числа и ответ в формулу внизу, чтобы когда цифры изменяться формула в Equation тоже менялась по этим расчётам и в ней были уже другие числа исходные, не 24, а 168, например, не 4200, а 28500 и так далее и в конце вычисленный результат по ним...Death4ewer
Я так мыслю, что вам надо с помощью VBA управлять объектом MSEquation. Если бы кто дал точную инфу, как с ним работать из кода... потому что объектная модель для Equation 3.0 - одна из самых охраняемых тайн MS
Death4ewer, это формулами не сделать.
Я так мыслю, что вам надо с помощью VBA управлять объектом MSEquation. Если бы кто дал точную инфу, как с ним работать из кода... потому что объектная модель для Equation 3.0 - одна из самых охраняемых тайн MS AndreTM
Жалко, то есть только вручную сидеть и вбивать в Equation исходные числа из таблиц и в конце ="число, высчитанное экселем"...да?( А может быть хотя бы без Equationa обойтись можно, а так просто, с помощью какого-нибудь СЦЕПИТЬ получиться...?
Я вот тут сделал похожего типа, только формулы получаются кривыми и некрасивыми до безобразия...Сверху исходные данные, по центру, то что у меня получилось с помощью "СЦЕПИТЬ", а внизу как должна формула выглядеть в Equation...там же не получилось у меня в степени числа поставить, просто писал "2^3"...может что-то вроде того можно сделать только лучше...?
Жалко, то есть только вручную сидеть и вбивать в Equation исходные числа из таблиц и в конце ="число, высчитанное экселем"...да?( А может быть хотя бы без Equationa обойтись можно, а так просто, с помощью какого-нибудь СЦЕПИТЬ получиться...?
Я вот тут сделал похожего типа, только формулы получаются кривыми и некрасивыми до безобразия...Сверху исходные данные, по центру, то что у меня получилось с помощью "СЦЕПИТЬ", а внизу как должна формула выглядеть в Equation...там же не получилось у меня в степени числа поставить, просто писал "2^3"...может что-то вроде того можно сделать только лучше...?Death4ewer
Если без VBA - то да, только вручную Даже с VBA, скорее всего, придется делать хитро: изобразить "шаблон" формулы, куда вы забьёте "ссылки на подстановку ячеек", сделать этот шаблон скрытым, а при изменениях исходных данных - брать шаблон, подставлять в него значения, и перезаписывать содержимое Equation. Если у вас формул много, и они различные каждый раз - овчинка может не стоить выделки...
Если без VBA - то да, только вручную Даже с VBA, скорее всего, придется делать хитро: изобразить "шаблон" формулы, куда вы забьёте "ссылки на подстановку ячеек", сделать этот шаблон скрытым, а при изменениях исходных данных - брать шаблон, подставлять в него значения, и перезаписывать содержимое Equation. Если у вас формул много, и они различные каждый раз - овчинка может не стоить выделки...AndreTM
Да формул очень много и они все разные, около сотни, даже больше, но там есть и простые "2+2=4", а есть и такие, что я уже показал (это самые сложные), но дело в том, что и объёмы работ очень большие. Чтобы их все изменить нужно тупо сидеть по часов 5 каждый раз, и это только один круг, а их по 20 обычно бывает. Ну вы понимаете, проще один раз посидеть 3 дня, а потом за пол часа просто копировать-вставить уже готовый Equation на каждый круг...
Да формул очень много и они все разные, около сотни, даже больше, но там есть и простые "2+2=4", а есть и такие, что я уже показал (это самые сложные), но дело в том, что и объёмы работ очень большие. Чтобы их все изменить нужно тупо сидеть по часов 5 каждый раз, и это только один круг, а их по 20 обычно бывает. Ну вы понимаете, проще один раз посидеть 3 дня, а потом за пол часа просто копировать-вставить уже готовый Equation на каждый круг...Death4ewer
Самый реальный вариант - это писать собственный "парсер шаблонов", который заменит формулу-строку в виде "(2+2)*2^2" (вернее, в виде, например "([A4}+[B5])^3-[C8]*4" ) на значения, плюс символы из редактора Equation. И создаст/пересоздаст шейп с формулой MSEquation или MathType. По идее, можно было бы даже TeX прикрутить... НО готового решения, как я понимаю, просто нет. Это надо писать.
просто копировать-вставить уже готовый Equation на каждый круг
Вот именно так - не получится. Фомула в Equation - это просто "рисунок". Так что все равно надо заставить программу пересоздавать саму формулу на какой-то основе-шаблоне. Ну нельзя прямо в формулу "впихнуть" ссылки на ячейки вашего листа
Самый реальный вариант - это писать собственный "парсер шаблонов", который заменит формулу-строку в виде "(2+2)*2^2" (вернее, в виде, например "([A4}+[B5])^3-[C8]*4" ) на значения, плюс символы из редактора Equation. И создаст/пересоздаст шейп с формулой MSEquation или MathType. По идее, можно было бы даже TeX прикрутить... НО готового решения, как я понимаю, просто нет. Это надо писать.
просто копировать-вставить уже готовый Equation на каждый круг
Вот именно так - не получится. Фомула в Equation - это просто "рисунок". Так что все равно надо заставить программу пересоздавать саму формулу на какой-то основе-шаблоне. Ну нельзя прямо в формулу "впихнуть" ссылки на ячейки вашего листа AndreTM
А можно посмотреть как это будет выглядеть, если хотя бы получиться, чтобы не в Equation выводились формулы, а просто красивые "2^2/4*4*2+5/3+8" с дробями, правильно выводимыми степенями, а не "2^3", можно даже в разных ячейках, наподобие второго примера, что я скидывал с длинной дробной формулой...
Если можно, скиньте, пожалуйста, простенький пример вроде "2^2/4*4*2+5/3+8"
А можно посмотреть как это будет выглядеть, если хотя бы получиться, чтобы не в Equation выводились формулы, а просто красивые "2^2/4*4*2+5/3+8" с дробями, правильно выводимыми степенями, а не "2^3", можно даже в разных ячейках, наподобие второго примера, что я скидывал с длинной дробной формулой...
Если можно, скиньте, пожалуйста, простенький пример вроде "2^2/4*4*2+5/3+8"Death4ewer
А можно посмотреть как это будет выглядеть ... а просто красивые ... с дробями, правильно выводимыми степенями...
Я вам что объясняю-то? Что именно чтобы "красиво выглядело" - и надо писать код на VBA. И не просто что-то там писать, а ещё сначала придумывать некий алгоритм и смотреть, какие же средства использовать для визуализации.
Вы что же, думаете, что у меня где-то в заначке уже всё есть? И что делать больше нечего, как заниматься непонятно для чего нужной задачкой, особенно в выходные? :)
А можно посмотреть как это будет выглядеть ... а просто красивые ... с дробями, правильно выводимыми степенями...
Я вам что объясняю-то? Что именно чтобы "красиво выглядело" - и надо писать код на VBA. И не просто что-то там писать, а ещё сначала придумывать некий алгоритм и смотреть, какие же средства использовать для визуализации.
Вы что же, думаете, что у меня где-то в заначке уже всё есть? И что делать больше нечего, как заниматься непонятно для чего нужной задачкой, особенно в выходные? :)AndreTM
То есть нужно знать языки программирования и непосвящённый человек этого сделать не может, верно? А есть какие-нибудь книги или методички именно по этой теме?
То есть нужно знать языки программирования и непосвящённый человек этого сделать не может, верно? А есть какие-нибудь книги или методички именно по этой теме?Death4ewer
собственный "парсер шаблонов", который заменит формулу-строку в виде "(2+2)*2^2" (вернее, в виде, например "([A4}+[B5])^3-[C8]*4" ) на значения, плюс символы из редактора Equation. И создаст/пересоздаст шейп с формулой MSEquation
Вставить шейп с Equation и затем сразу заполнить его нужными символами (например, через SendKeys) мы программно сможем. Мало того, в 2010 есть собственный конструктор формул, и вот с ним-то как-раз можно работать из кода
собственный "парсер шаблонов", который заменит формулу-строку в виде "(2+2)*2^2" (вернее, в виде, например "([A4}+[B5])^3-[C8]*4" ) на значения, плюс символы из редактора Equation. И создаст/пересоздаст шейп с формулой MSEquation
Вставить шейп с Equation и затем сразу заполнить его нужными символами (например, через SendKeys) мы программно сможем. Мало того, в 2010 есть собственный конструктор формул, и вот с ним-то как-раз можно работать из кода AndreTM