Если я наберу формулу 1/4*pi()*($A$1)^2
в виде строки в ячейке и предполагаю, что у меня есть значение в $A$1, я использую следующую функцию VBA в третьей ячейке для оценки формулы:
Public Function E(byval TextFormula as String) as Variant
E = Evaluate(TextFormula)
End Function
Есть ли способ использовать математические символы, такие как •, √, ¼, π, ² и т. д., чтобы моя напечатанная формула выглядела более приятной? Даже переведите «[» и «]» как «(» и «)». Я могу просто перебирать замены массива, используя функцию REPLACE() для простых символов, но как насчет расширенных символов, таких как π?
Для действительно крутых макро-мастеров...
Как насчет отображения промежуточных шагов (итераций), поскольку в (2*3) + (2.5*4)
оценивается 6 + 10
в первой итерации, а затем 16
в следующей итерации. В дополнение: я бы хотел, чтобы итерации останавливались непосредственно перед каждым набором сложений/вычитаний, потому что иногда мне хотелось бы знать, каковы относительные величины отдельных оцениваемых членов, чтобы увидеть, какая часть моей формулы контролирует результат.
А для мегагениальных...
А что насчет смешанных юнитов? Например, ввести 560{lbs}/[1.23{m}*3.4{'}]
и получить результат ###{psf}
. Я думал, что единица может быть обозначена символом подчеркивания, таким как 34_kN
, но я думаю, что для составных единиц, таких как 34{kN/m^2}
, требуется начальное и конечное разграничение. Должен быть способ принудительно вывести вывод в желаемую единицу (т. е. мм вместо дюймов), например, настроить нужные единицы вперед на вашем листе, а затем он, по крайней мере, попытается преобразовать в одну из этих единиц. Я думаю, на этом этапе вы будете брать с меня деньги за код ;)
Мне нравится использовать Excel для инженерных расчетов, потому что я использую только более простые формулы (без исчисления!) и не хочу постоянно переключаться между приложениями Excel и Mathcad, а использую только одно.
Шон