Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вычислить "математический" текст - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вычислить "математический" текст (Макросы/Sub)
Вычислить "математический" текст
Nic70y Дата: Пятница, 01.11.2019, 21:32 | Сообщение № 1
Группа: Друзья
Ранг: Экселист
Сообщений: 5700
Репутация: 1250 ±
Замечаний: 0% ±

ru13;10;03
Драсте!
Подскажите пжл. тупорылому.
есть выражение в виде текста, типа:
(1+2)*18+(3/4) и т.д.
его нужно вычислить не используя функцию ВЫЧИСЛИТЬ (ни какую)
кроме как ПОИСК и ЦИКЛ в голову ничё не лезет (завал на работе + гуглопоиск барахлит и еще куча отмазок)
за_ранее спс.


ЯД(poison) 41001841029809
 
Ответить
СообщениеДрасте!
Подскажите пжл. тупорылому.
есть выражение в виде текста, типа:
(1+2)*18+(3/4) и т.д.
его нужно вычислить не используя функцию ВЫЧИСЛИТЬ (ни какую)
кроме как ПОИСК и ЦИКЛ в голову ничё не лезет (завал на работе + гуглопоиск барахлит и еще куча отмазок)
за_ранее спс.

Автор - Nic70y
Дата добавления - 01.11.2019 в 21:32
bmv98rus Дата: Пятница, 01.11.2019, 22:11 | Сообщение № 2
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2737
Репутация: 470 ±
Замечаний: 0% ±

Excel 2013/2016
его нужно вычислить не используя функцию ВЫЧИСЛИТЬ
в чем глубокий смысл? Анализатор не так прост получится. Может не поиск а Split но все равно не просто.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
его нужно вычислить не используя функцию ВЫЧИСЛИТЬ
в чем глубокий смысл? Анализатор не так прост получится. Может не поиск а Split но все равно не просто.

Автор - bmv98rus
Дата добавления - 01.11.2019 в 22:11
Nic70y Дата: Пятница, 01.11.2019, 22:14 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5700
Репутация: 1250 ±
Замечаний: 0% ±

ru13;10;03
в чем глубокий смысл?
студенческий вопрос...


ЯД(poison) 41001841029809
 
Ответить
Сообщение
в чем глубокий смысл?
студенческий вопрос...

Автор - Nic70y
Дата добавления - 01.11.2019 в 22:14
Pelena Дата: Пятница, 01.11.2019, 22:29 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14761
Репутация: 3229 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
студенческий вопрос...

знак равно впереди поставить и Enter нажать не вариант? :D


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
студенческий вопрос...

знак равно впереди поставить и Enter нажать не вариант? :D

Автор - Pelena
Дата добавления - 01.11.2019 в 22:29
Nic70y Дата: Пятница, 01.11.2019, 22:35 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5700
Репутация: 1250 ±
Замечаний: 0% ±

ru13;10;03
Только шел с обкурки и хотел дописать апдЭйт, что
знак равно впереди
тоже не канает, тока внутри кода :(


ЯД(poison) 41001841029809
 
Ответить
СообщениеТолько шел с обкурки и хотел дописать апдЭйт, что
знак равно впереди
тоже не канает, тока внутри кода :(

Автор - Nic70y
Дата добавления - 01.11.2019 в 22:35
Pelena Дата: Пятница, 01.11.2019, 22:57 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 14761
Репутация: 3229 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Ну, знак равно и внутри кода можно поставить
[vba]
Код
a = "(1+2)*18+(3/4)"
Range("A1").Formula = "=" & a
b=Range("A1").Value
Range("A1").Clear
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНу, знак равно и внутри кода можно поставить
[vba]
Код
a = "(1+2)*18+(3/4)"
Range("A1").Formula = "=" & a
b=Range("A1").Value
Range("A1").Clear
[/vba]

Автор - Pelena
Дата добавления - 01.11.2019 в 22:57
doober Дата: Пятница, 01.11.2019, 23:21 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 247 ±
Замечаний: 0% ±

Excel 2010


 
Ответить
СообщениеИщите в гугле
Интерпретатор математических формул на VB

Автор - doober
Дата добавления - 01.11.2019 в 23:21
RAN Дата: Суббота, 02.11.2019, 10:13 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5176
Репутация: 1041 ±
Замечаний: 0% ±

2010
Ни единого намека на вычислить, и никаких "=" вне кода.
Правда, ведмедь обозвал этот код "извращенцем" :'( :D
[vba]
Код
Sub Create_NewModule()
    Dim objVBComp As Object, objCodeMod As Object
    Dim sCodeLines As String
    Dim lLineNum As Long
    Set objVBComp = ActiveWorkbook.VBProject.VBComponents.Add(1)
    Set objCodeMod = objVBComp.CodeModule
    lLineNum = objCodeMod.CountOfLines + 1
    sCodeLines = "MsgBox(" & [A1] & ")"
'    sCodeLines = "MsgBox((1 + 2) * 18 + (3 / 4))"
    sCodeLines = "Sub Test()" & vbCrLf & _
                 sCodeLines & vbCrLf & _
                 "End Sub"
    objCodeMod.InsertLines lLineNum, sCodeLines
    Application.Run "Test"
    objVBComp.Collection.Remove objVBComp
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНи единого намека на вычислить, и никаких "=" вне кода.
Правда, ведмедь обозвал этот код "извращенцем" :'( :D
[vba]
Код
Sub Create_NewModule()
    Dim objVBComp As Object, objCodeMod As Object
    Dim sCodeLines As String
    Dim lLineNum As Long
    Set objVBComp = ActiveWorkbook.VBProject.VBComponents.Add(1)
    Set objCodeMod = objVBComp.CodeModule
    lLineNum = objCodeMod.CountOfLines + 1
    sCodeLines = "MsgBox(" & [A1] & ")"
'    sCodeLines = "MsgBox((1 + 2) * 18 + (3 / 4))"
    sCodeLines = "Sub Test()" & vbCrLf & _
                 sCodeLines & vbCrLf & _
                 "End Sub"
    objCodeMod.InsertLines lLineNum, sCodeLines
    Application.Run "Test"
    objVBComp.Collection.Remove objVBComp
End Sub
[/vba]

Автор - RAN
Дата добавления - 02.11.2019 в 10:13
Nic70y Дата: Суббота, 02.11.2019, 10:29 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5700
Репутация: 1250 ±
Замечаний: 0% ±

ru13;10;03
Андрей, спс.
и всем тоже.


ЯД(poison) 41001841029809
 
Ответить
СообщениеАндрей, спс.
и всем тоже.

Автор - Nic70y
Дата добавления - 02.11.2019 в 10:29
bmv98rus Дата: Суббота, 02.11.2019, 10:31 | Сообщение № 10
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2737
Репутация: 470 ±
Замечаний: 0% ±

Excel 2013/2016
Правда, ведмедь обозвал этот код "извращенцем"
нее, это сКОТский вариант. :D


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Правда, ведмедь обозвал этот код "извращенцем"
нее, это сКОТский вариант. :D

Автор - bmv98rus
Дата добавления - 02.11.2019 в 10:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вычислить "математический" текст (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!