VBA Case: условные операторы для обработки значений в VBA
VBA (Visual Basic for Applications) имеет оператор выбора ветвления `Case`. Оператор `Case` используется для сравнения значения с несколькими другими значениями и выполнения соответствующих действий в зависимости от результата сравнения.
Вот пример кода, демонстрирующий использование оператора `Case` в VBA:
vba
Sub TestCase()
Dim value As Integer
value = 2
Select Case value
Case 1
MsgBox "Value is 1"
Case 2
MsgBox "Value is 2"
Case 3
MsgBox "Value is 3"
Case Else
MsgBox "Value is not 1, 2, or 3"
End Select
End Sub
В этом примере переменная `value` принимает значение 2. Затем используется оператор `Select Case`, чтобы сравнить `value` с различными значениями. Если `value` равно 1, будет показано сообщение "Value is 1". Если `value` равно 2, будет показано сообщение "Value is 2". Если `value` равно 3, будет показано сообщение "Value is 3". В противном случае будет показано сообщение "Value is not 1, 2, or 3".
Оператор `Case` также может использоваться для сравнения с диапазонами значений. Вот пример:
vba
Sub TestCaseRange()
Dim value As Integer
value = 5
Select Case value
Case 1 To 3
MsgBox "Value is between 1 and 3"
Case 4 To 6
MsgBox "Value is between 4 and 6"
Case Else
MsgBox "Value is not between 1 and 6"
End Select
End Sub
В этом примере переменная `value` принимает значение 5. Затем оператор `Select Case` сравнивает `value` с различными диапазонами значений. Если `value` находится в диапазоне от 1 до 3, будет показано сообщение "Value is between 1 and 3". Если `value` находится в диапазоне от 4 до 6, будет показано сообщение "Value is between 4 and 6". В противном случае будет показано сообщение "Value is not between 1 and 6".
Оператор `Case` также может быть использован для сравнения переменной с несколькими конкретными значениями. Вот пример:
vba
Sub TestMultipleCase()
Dim value As String
value = "blue"
Select Case value
Case "red", "blue"
MsgBox "Value is either red or blue"
Case "green", "yellow"
MsgBox "Value is either green or yellow"
Case Else
MsgBox "Value is neither red/blue nor green/yellow"
End Select
End Sub
В этом примере переменная `value` принимает значение "blue". Затем оператор `Select Case` сравнивает `value` с несколькими значениями. Если `value` равно "red" или "blue", будет показано сообщение "Value is either red or blue". Если `value` равно "green" или "yellow", будет показано сообщение "Value is either green or yellow". В противном случае будет показано сообщение "Value is neither red/blue nor green/yellow".
Оператор `Case` в VBA позволяет удобно сравнивать значение переменной с несколькими значениями и выполнять соответствующие действия в зависимости от результата сравнения.