powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
7 сообщений из 7, страница 1 из 1
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780011
kealog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, в ячейке "А1" записано "15<=6".
В другой ячейке нужно записать формулу с аргументом из ячейки "A1", которая выдаст результатом FALSE.

Интересует, есть ли вариант
а) С использованием только типовых функций Excel
б) С использованием VBA (в т.ч. с созданием пользовательской функции), но без парсинга текста из "А1" ... м.б. есть какие-то функции VBA для этого. С парсингом у меня есть решение.
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780090
kealog,

не знаю насчёт типовых функций, но насчёт пользовательских есть вариант с использованием Microsoft Script Control:[SRC vba]Public Function MyEval(Arg)
Dim sc As Object
Set sc = CreateObject("MSScriptControl.ScriptControl")
'Либо с ранним связыванием (в References подключить Microsoft Script Control):
'Dim sc As ScriptControl
'Set sc = New ScriptControl
sc.Language = "VBScript"
MyEval = sc.Eval(Arg)
End Function[/vba]
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780092
kealog,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function MyEval(Arg)
 Dim sc As Object
 Set sc = CreateObject("MSScriptControl.ScriptControl")
 'Либо с ранним связыванием (в References подключить Microsoft Script Control):
 'Dim sc As ScriptControl
 'Set sc = New ScriptControl
 sc.Language = "VBScript"
 MyEval = sc.Eval(Arg)
End Function
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780128
kealog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13-й квартал,
Спасибо. Работает.
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780334
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно чуть проще:
MsgBox Application.Evaluate(Лист1.Range("A1").Value)
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780430
kealog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмит,

Спасибо!!! Это ещё лучше - самое то, что нужно!!!
...
Рейтинг: 0 / 0
Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
    #37780518
ЧСХ, справка (к 2007, по меньшей мере) не упоминает явно, что в качестве аргумента Application.Evaluate и Worksheet.Evaluate можно передавать выражения. Хотя пример там же есть: Evaluate("SIN(45)").
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить истинность условия, записанного текстом в ячейке, например "15<=6"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]