Vba case пример
Автор Александр Златенков задал вопрос в разделе Другие языки и технологии
VBA Excel. Работает ли Select case вместе с Like? Хучу сортировать данные в зависимости от части названия книги. Книга* и получил лучший ответ
Ответ от ...[гуру]
Напрямую так - нет. Можно сделать только с < > = и сочетаниями
н-р
Dim s as string
s = "123"
select case s
case is > "345": MsgBox "1"
case is < "345": MsgBox "2"
end select
Много хотите от несчастного VBA =)
Но можно перечислить варианты в массиве, сделать функцию, которая возвращает номер элемента в массиве и от него "кейзить" =)
Типа этого (набросок) , за 100% правильность не ручаюсь т. к. пишу без VBA,
но идея понятна:
Function MyCase(s As String) As Integer
Dim arr
Dim i As Integer
arr = Array("книгарасходов*", "книгадоходов*")
For i = 0 To UBound(arr)
If s Like arr(i) Then MyCase = i: Exit Function
Next
End Function
Sub t()
Dim s As String
s = "книгарасходов1"
Select Case MyCase(s)
Case 0: MsgBox "Расходы"
Case 1: MsgBox "Доходы"
End Select
End Sub
Хз)