Страницы: 1
RSS
Как в VBA определить, что значение не входит в список значений
 
Здравствуйте, товарищи и господа.

Сейчас стоит задача определить, что значение не входит в список "разрешенных", и в этом случае выйти из процедуры. Но похожие задачи возникают довольно часто.

Сейчас решаю примерно так:
Код
Select Case txt
Case "раз", "два", "три"
Case Else
...
End Select



Кто знает более элегантный способ, может есть какой-либо аналог SQL-ного NOT IN(..)  
 
все зависит от того, в каком виде у Вас есть список разрешенных значений
если в никаком - можете считать Вашу конструкцию оптимальной.
Изменено: Ігор Гончаренко - 17.05.2018 17:50:22
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
список разрешенных поместить в словарь и проверять потом входит значение в словарь или нет
 
Я в последнее время такой конструкцией пользуюсь:
Код
Sub test()
    Dim arr(), txt
    arr = Array("раз", "два", "три")
    txt = "два"
    If Not IsError(Application.Match(txt, arr, 0)) Then
        MsgBox "Входит в список"
    Else
        MsgBox "Не входит в список"
    End If
End Sub
 
Цитата
webley написал: IsError(Application.Match(txt, arr, 0))
Спасибо, то, что нужно!
Страницы: 1
Читают тему
Наверх