Выберите заявление case (VBA) | Microsoft Learn
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Выполняет несколько групп операторов в зависимости от значения выражения.
Синтаксис
Выбор тестэкспрессии case
[ Case expressionlist-n [ statements-n ]]
[ Case Else [ elsestatements ]]
End Select
Синтаксис оператора Select Case состоит из следующих частей:
| Часть | Описание |
|---|---|
| testexpression | Обязательно. Любое числовое выражение или строковое выражение. |
| expressionlist-n | Обязательный параметр, если используется оператор Case. Делимитированный список одной или более из следующих форм: выражение, expressionToexpression, Iscomparisonoperator_._ Ключевое слово To указывает диапазон значений. Если вы используете ключевое слово To, то наименьшее значение должно быть указано до To. Используйте ключевое слово Is с операторами сравнения (кроме Is и Like) для указания диапазона значений. |
| statements-n | Необязательное свойство. Одно или несколько заявлений, выполненных, если testexpression совпадает с какой-либо частью expressionlist-n. |
| elsestatements | Необязательный параметр. Один или несколько операторов, которые выполняются, если testexpression не соответствует какому-либо из выражений Case. |
Если testexpression совпадает с любым выражением экспрессионистов 
Предложение Case Else используется для указания того, что выражения elsestatements выполняются, если не обнаружено совпадение между testexpression и expressionlist в других предложениях Case. Хотя это необязательно, рекомендуется использовать оператор Case Else в блоке Select Case для обработки непредвиденных значений testexpression. Если экспрессиолист Case не соответствует тестэкспрессии и не существует утверждения Case Else, выполнение продолжается в заявлении, следующем end Select.
Используйте несколько выражений или диапазонов в каждом пункте Case . Например, допустима следующая строка.
Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Примечание
Оператор сравнения Is — не то же самое, что ключевое слово Is, используемое в операторе Select Case.
Вы также можете указать диапазоны и несколько выражений для строк символов. В следующем примере Case everythingсовпадает со строками, которые точно равны строкам, nuts soup которые находятся между алфавитным порядком и в алфавитном порядке, TestItemи текущим значением :
Case "everything", "nuts" To "soup", TestItem
Операторы Select Case могут быть вложенными. Каждое вложенное заявление Select Case должно иметь совпадающий конечный выбор .
Пример
В этом примере оператор Select Case используется для оценки значения переменной. Второе предложение Case содержит значение оцениваемой переменной, поэтому выполняется только связанный с ним оператор.
Dim Number
Number = 8 ' Initialize variable.
Select Case Number ' Evaluate Number.
Case 1 To 5 ' Number between 1 and 5, inclusive.
Debug.
Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8 ' Number between 6 and 8.
Debug.Print "Between 6 and 8"
Case 9 To 10 ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else ' Other values.
Debug.Print "Not between 1 and 10"
End Select
См. также
- Использование заявлений Select Case
- Типы данных
- Операторы
- Операторы
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Пример оператора Select Case. VBA для чайников
Пример оператора Select Case. VBA для чайниковВикиЧтение
VBA для чайников
Каммингс Стив
Содержание
Пример оператора Select Case
Здесь явно не помешает пример, показывающий, как в действительности может выглядеть структура Select Case.
Select Case objRol l OfFi l m.Type
Case «Слайдовая»
intСлайдовые = intСлайдовые + 1
Case «Цветная негативная»
intЦветныеНегативные = intЦветныеНегативные + 1
Case «ЧБ негативная»
intЧБнегативные = intЧБнегативные + 1
.Case Else
MgaBox «Неизвестный тип пленки.»
End Select
В основном этот фрагмент программного кода делает то же, что и приведенный выше программный код для примера из раздела об операторах If. . .ElseIf (опущена только проверка срока хранения). Правда, с тех пор наш гипотетический объект, представляющий ролик пленки, похоже, был немного модифицирован — информация о цветностибесцветности пленки теперь тоже представляется свойством Туре, а не отдельным свойством Color, как раньше.
А если дело обстоит таким образом, то программе приходится работать только с одним значением — со значением, возвращаемым свойством Туре.
Первое применение оператора Case в данном примере эквивалентно применению If objRollOf Film.Type = «Слайдовая» Then, т.е. если свойство Туре объекта равно «Слайдовая», то программа выполняет следующий оператор, в противном случае она перейдет ко второму оператору Case.
Заметьте, что знака операции, присутствие которого кажется на первый взгляд логичным, в критериях нет. Причина в том, что в операторах Select Case равенство в качестве операции сравнения просто подразумевается.
Простой пример использования функции select
В листинге 24.3 показана принимающая программа.Листинг 24.3. Принимающая программа, в которой (ошибочно)Пример: очереди сообщений Posix и функция select
Пример: очереди сообщений Posix и функция select Дескриптор очереди сообщений (переменная типа mqd_t) не является «обычным» дескриптором и не может использоваться с функциями select и poll (глава 6 [24]). Тем не менее их можно использовать вместе с каналом и функцией mq_notify. (Аналогичный
Проверка условий в операторах Select Case
Проверка условий в операторах Select Case Структура Select Case не использует явным образом полные условные выражения, подобные тем, о которых шла речь выше (см. раздел «Курс на использование условных выражений»). Вы должны разбить каждое условие на две части, представленные как
РАСШИРЕНИЕ ОПЕРАТОРА if С ПОМОЩЬЮ else
РАСШИРЕНИЕ ОПЕРАТОРА if С ПОМОЩЬЮ else Простейшей формой оператора if является та, которой мы только что воспользовались: if(выражение)оператор Обычно под выражением здесь понимают условное выражение, с его помощью сравниваются значения двух величин (например x > y
Пример 10-24.
Использование caseПример 10-24. Использование case #!/bin/bashecho; echo «Нажмите клавишу и затем клавишу Return.»read Keypresscase «$Keypress» in [a-z] ) echo «буква в нижнем регистре»;; [A-Z] ) echo «Буква в верхнем регистре»;; [0-9] ) echo «Цифра»;; * ) echo «Знак пунктуации, пробел или что-то другое»;;esac # Допускается указыватль
Пример 10-25. Создание меню с помощью case
Пример 10-26. Оператор case допускает использовать подстановку команд вместо анализируемой переменной
Пример 10-26.
Оператор case допускает использовать подстановку команд вместо анализируемой переменной
#!/bin/bash# Подстановка команд в «case».case $( arch ) in # команда «arch» возвращает строку, описывающую аппаратную апхитектуру.i386 ) echo «Машина на базе процессора 80386»;;i486 ) echo «Машина на базе
Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления)
Пример A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления) #!/bin/bash# primes.sh: Генерация простых чисел, без использования массивов.# Автор: Stephane Chazelas.# Этот сценарий не использует класический алгоритм «Решето Эратосфена»,#+ вместо него
18.8.2. Прекращение выполнения оператора case
18.8.2. Прекращение выполнения оператора case
Рассмотрим следующий пример.
В сценарии выполняется бесконечный цикл до тех пор, пока пользователь не введет число, большее 5. Для прерывания цикла и возврата в командную строку интерпретатора используется команда break.$ pg
Отправка с сайта оператора
Отправка с сайта оператора На сегодняшний день уже, наверное, все операторы поддерживают отправку SMS со своего сайта. Сообщения, правда, можно отправить только абонентам данного оператора, но этого, как правило, бывает достаточно.Итак, к практике. Сейчас мы рассмотрим
Оператор Select Case (VBA) | Microsoft Узнайте
Редактировать
Твиттер LinkedIn Фейсбук Эл. адрес
- Статья
- 2 минуты на чтение
Выполняет одну из нескольких групп операторов в зависимости от значения выражения.
Синтаксис
Select Case testexpression
[ Case expressionlist-n [ statements-n ]]
[ Case Else [ elsestatements ]]
End Select
The Select Case statement синтаксис состоит из следующих частей:
| Часть | Описание |
|---|---|
| тестовое выражение | Обязательно. Любое числовое выражение или строковое выражение. |
| список-выражений-n | Требуется, если появляется Case . Список с разделителями одной или нескольких следующих форм: выражение , выражение To выражение , Is оператор сравнения выражение . Ключевое слово от до задает диапазон значений. Если вы используете ключевое слово от до , меньшее значение должно стоять перед до 9.0024 . Используйте ключевое слово Is с операторами сравнения (кроме Is и Like ), чтобы указать диапазон значений. Если оно не указано, ключевое слово Is вставляется автоматически. |
| заявления-n | Дополнительно. Один или несколько операторов выполняются, если testexpression соответствует любой части expressionlist-n . |
| elsestatements | Дополнительно. Один или несколько операторов выполняются, если testexpression не соответствует ни одному из условий Case . |
Если testexpression соответствует любому выражению Case список_выражений , операторов , следующих за этим предложением Case , выполняются до следующего Case предложения до последнего предложения 9 или, для последнего предложения 9 Выберите .
Затем управление переходит к оператору, следующему за End Select . Если testexpression соответствует expressionlist выражение в более чем одном предложении Case выполняются только операторы, следующие за первым совпадением.
Предложение Case Else используется для указания операторов else , которые должны быть выполнены, если не будет найдено совпадение между тестовым выражением и списком выражений в любом из других вариантов выбора Case . Хотя это и не обязательно, рекомендуется иметь в своем операторе Case Else .0023 Выберите блок Case для обработки непредвиденных значений testexpression . Если нет Case списка выражений , соответствующего testexpression и нет оператора Case Else , выполнение продолжается с оператора, следующего за End Select .
Используйте несколько выражений или диапазонов в каждом предложении Case . Например, допустима следующая строка:
Случай 1–4, 7–9, 11, 13, Is > MaxNumber
Примечание
Оператор сравнения Is не совпадает с ключевым словом Is , используемым в операторе Select Case .
Вы также можете указать диапазоны и несколько выражений для строк символов. В следующем примере Case соответствует строкам, точно равным все , строкам, попадающим между орехи и суп в алфавитном порядке, и текущему значению TestItem :
Кейс "Все", "Орехи" К "Супу", TestItem
Операторы Select Case могут быть вложенными. Каждый вложенный оператор Select Case должен иметь соответствующий оператор End Select .
Пример
В этом примере оператор Select Case используется для оценки значения переменной.
Второе предложение Case содержит значение оцениваемой переменной, поэтому выполняется только оператор, связанный с ним.
Тусклый номер
Число = 8 'Инициализировать переменную.
Выберите номер дела ' Оценить номер.
Case 1 To 5 ' Число от 1 до 5 включительно.
Debug.Print "Между 1 и 5"
' Ниже приведено единственное предложение Case, которое оценивается как True.
Случай 6, 7, 8 'Число от 6 до 8.
Debug.Print "Между 6 и 8"
Случай 9-10 'Число 9 или 10.
Debug.Print "Больше 8"
Case Else ' Другие значения.
Debug.Print "Не между 1 и 10"
Конец выбора
См. также
- Использование операторов Select Case
- Типы данных
- Операторы
- Заявления
Поддержка и отзывы
У вас есть вопросы или отзывы об Office VBA или этой документации? См. раздел Поддержка и отзывы Office VBA, чтобы узнать, как вы можете получить поддержку и оставить отзыв.
VBA Select Case Statement — Automate Excel
В этой статье
- Выбрать пример примера
- Синтаксис оператора.
– Text - Верхний и нижний регистр
- Case Like
- Case Like – A Failed Test
- Case Like – The Right Way
- Пример 1. Оператор Case, определяемая пользователем функция (UDF) Пример 92.007 Имя тестового листа / Заявление о цикле
- Пример 3. Выбор случая — значение ячейки
- Пример 4. Выбор случая — даты
- Пример. 5 Проверьте, является ли число нечетным или четным
- Пример. 6 Проверка, если дата находится в будний день или в выходные дни
В VBA оператор Select Case является альтернативой оператору If-Then , позволяя проверить, выполняются ли условия, запуская специальный код для каждого условия.
Оператор Select предпочтительнее оператора If, когда нужно обработать несколько условий.
Пример Select Case
В этом примере пользователю выдается сообщение YesNoCancel MessageBox и проверяется, какой вариант выбрал пользователь:
Sub Select_Case_Yes_No_Cancel()
Dim nResult As VbMsgBoxResult
nResult = MsgBox("...", vbYesNoCancel)
Выберите случай nResult
Дело vbДа
MsgBox "Да"
Случай vbНет
MsgBox "Нет"
Дело vbCancel
MsgBox "Отмена"
Конец выбора
End Sub Ниже мы записали эквивалент, используя вместо этого оператор If. Вы заметите, что оператор Case Select требует немного меньшего набора текста — это преимущество усиливается при тестировании нескольких критериев.
Sub If_Yes_No_Cancel()
Dim nResult As VbMsgBoxResult
nResult = MsgBox("...", vbYesNoCancel)
Если нРезультат = vbДа Тогда
MsgBox "Да"
ИначеЕсли nResult = vbNo Тогда
MsgBox "Нет"
ИначеЕсли nResult = vbCancel Тогда
MsgBox "Отмена"
Конец, если
End Sub Синтаксис оператора Case
Синтаксис оператора Select Case следующий:
Select Case [Test Expression]
Дело [Условие 1]
[Действие, если условие 1 верно]
Дело [Условие 2]
[Действие, если условие 2 верно]
Дело [Условие №]
[Действие, если условие n верно]
Дело еще
[Действие, если ни одно из них не соответствует действительности]
Конец выбора Где:
[Тестовое выражение] — значение для оценки.
Обычно это переменная.
[Действие, если условие n истинно] — Это просто код для запуска, если условие выполнено (так же, как с оператором If)
[Условие n] — Это условие для проверки. Есть много разных способов проверить условия. Мы обсудим их ниже.
Оператор Case выполнит код для ПЕРВОГО условия, которое признано ИСТИННЫМ. Если не выполняется ни одно условие, код не будет выполняться, если только не будет добавлено предложение Else.
Критерии выбора случаев
Выбор случаев можно использовать для оценки как числовых значений, так и текста. Сначала мы обсудим, как использовать Select Cases для вычисления числовых выражений.
Точное совпадение — числа
Вы можете легко проверить точное совпадение с помощью оператора Case:
Case 10 или добавить запятые для проверки точного совпадения с несколькими числами:
Case 20, 30, 40 Sub Точное соответствие_числа()
Dim n как целое число
n = CInt(InputBox(".
.."))
Выберите случай n
Случай 10
'Если n равно 10, то
Случай 20, 30, 40
' Если n равно 20/30/40, то
Дело еще
' Если n не равно 10/20/30/40, то
Конец выбора
Конец суб Диапазоны
Вы можете проверить, попадает ли число в диапазон, например:
Случай от 55 до 74 Эта процедура создаст буквенный балл для учащегося на основе его числового балла:
Sub Calc_Grade()
Dim Score как целое число
Dim LetterGrade As String
Score = InputBox("Введите балл студента")
Выберите оценку дела
Случай от 90 до 100
LetterGrade = "А"
Случай 80–90
LetterGrade = "В"
Случай 70–80
LetterGrade = "С"
Случай 60–70
LetterGrade = "D"
Дело еще
LetterGrade = "F"
Конец выбора
MsgBox "Оценка учащегося: " & LetterGrade
End Sub Вы также можете проверить диапазоны с помощью Case Is
Select Case Is
Case < 55
'Ничего не делать
Случай <= 74
MsgBox "В пределах досягаемости" Помните, что оператор Case будет выполнять код ТОЛЬКО для первого совпадения.
В ходе этой процедуры оценка учащегося будет рассчитываться с использованием Case Is вместо Case To.
Sub Select_Case_Is_Grade()
Dim Score как целое число
Dim LetterGrade As String
Score = InputBox("Введите балл студента")
Выберите оценку дела
Дело >= 90
LetterGrade = "А"
Дело >= 80
LetterGrade = "В"
Дело >= 70
LetterGrade = "С"
Дело >= 60
LetterGrade = "D"
Дело еще
LetterGrade = "F"
Конец выбора
MsgBox "Оценка учащегося: " & LetterGrade
Конец суб Кодирование VBA стало проще
Прекратить поиск кода VBA в сети. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области программирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Узнать больше
Case Else
Вы можете добавить «Case Else» в конец вашего Case Statement, чтобы сделать что-то, если не выполняются никакие условия:
Case Else См.
конец предыдущего примера кода, чтобы узнать, как можно использовать Case Else. .
Select Case — Оператор Text & Like
До сих пор наши примеры Select Case работали только с числами. Вы также можете использовать операторы Select Case с текстом.
Точное совпадение – текст
Вы можете проверить, соответствует ли выражение точной фразе, например:
Случай "Beets" Или используйте запятые, чтобы проверить, соответствует ли выражение точно более чем одной фразе:
Случай "Apple" , "Банан", "Апельсин" В сборе это выглядит так:
SubExactMatch_Food()
Выберите диапазон регистра ("a1"). Значение
Дело "Свекла"
MsgBox "Овощи"
Корпус "Яблоко", "Банан", "Апельсин"
MsgBox "Фрукты"
Конец выбора
End Sub Программирование VBA | Генератор кода работает на вас!
Верхний и нижний регистр
По умолчанию VBA чувствителен к регистру .
Это означает, что VBA считает «текст» отличным от «текста». Чтобы отключить чувствительность к регистру, добавьте Option Compare Text вверху вашего модуля:
Option Compare Text В этом примере функция выбора регистра не будет учитывать регистр при работе с текстом:
Option Compare Text
Sub ExactMatch_Food()
Выберите диапазон регистра ("a1"). Значение
Дело "Свекла"
MsgBox "Овощи"
Корпус "Яблоко", "Банан", "Апельсин"
MsgBox "Фрукты"
Конец выбора
End Sub Case Like
Оператор Like позволяет проводить неточные сравнения. Если текст совпадает, Like возвращает TRUE, если не совпадает, возвращает FALSE. Это упрощает использование оператора Like с операторами If, однако он не будет работать так же легко с операторами Case.
Case Like — тест не пройден
Следующий код демонстрирует, что оператор Like не работает с Select Case:
Sub Select_Case_Like_DoesnotWork()
Тусклое слово как строка
слово = "КАКАО"
Выберите регистровое слово
Падежное слово Like "*C*C*"
MsgBox "Хорошо"
Дело еще
MsgBox "Не хорошо"
Конец выбора
End Sub Case Like – Правильный способ
Однако мы можем добавить выражение TRUE, чтобы оператор Select работал с оператором Like:
Sub Select_Case_Like_CorrectWay()
Тусклое слово как строка
слово = "КАКАО"
Выберите «Регистр верно»
Падежное слово Like "*C*C*"
MsgBox "Хорошо"
Дело еще
MsgBox "Не хорошо"
Конец выбора
End Sub Case — двоеточие
При использовании оператора Case вы можете добавить столько строк кода, сколько хотите для каждого условия.
Однако, если вам нужно запустить только одну строку кода. Вы можете использовать двоеточие ( : ), чтобы написать все в одной строке.
Вот тот же пример оценки учащегося, что и раньше, за исключением использования двоеточия для сокращения кода:
Sub Calc_Grade_colon()
Dim Score как целое число
Dim LetterGrade As String
Score = InputBox("Введите балл студента")
Выберите оценку дела
Случай от 90 до 100: LetterGrade = "A"
Случай с 80 по 90: LetterGrade = "B"
Случай с 70 по 80: LetterGrade = "C"
Случай от 60 до 70: LetterGrade = "D"
Случай еще: LetterGrade = "F"
Конец выбора
MsgBox "Оценка учащегося: " & LetterGrade
Конец суб
Выбор случая – И/или – Множественные условия
Вы можете использовать операторы И/или для проверки дополнительных критериев наряду с выбором случая.
В этом примере мы используем Select Case для переменной «возраст», но мы также хотим проверить пол.
Поэтому мы используем оператор И для выполнения более сложного теста:
Sub NestedSelectCase()
Тусклый секс как струна
Dim age как целое число
пол = "мужской" или женский
возраст = 15
Выберите возраст дела
Случай < 20 и пол = "мужской"
Msgbox "Мужчина до 20 лет"
Случай < 20 и пол = "женский"
Msgbox "Женщина до 20 лет"
Дело >= 20 и пол = "мужской"
Msgbox "Мужчина старше 20 лет"
Дело >= 20 и пол = "женский"
Msgbox "Женщина старше 20"
Конец выбора
Конец суб Вложенные операторы Case
Как и операторы If, вы можете вкладывать операторы Case друг в друга:
Sub NestedSelectCase()
Тусклый секс как струна
Dim age как целое число
пол = "мужской" или женский
возраст = 15
Выберите возраст дела
Случай < 20
Выберите пол случая
Корпус "мужской"
MsgBox «Мужчина до 20 лет»
Корпус "женский"
MsgBox "Женщина до 20 лет"
Конец выбора
Дело >= 20 и пол = "женский"
Выберите пол случая
Корпус "мужской"
MsgBox "Мужчина старше 20 лет"
Корпус "женский"
MsgBox "Женщина старше 20 лет"
Конец выбора
Конец выбора
Конец суб Автомакрос | Окончательная надстройка VBA | Нажмите для бесплатной пробной версии!
Оператор Case и оператор If
Чем больше условий нужно проверить, тем полезнее оператор Case по сравнению с оператором If.
Давайте посмотрим на пример.
Вот код, необходимый для проверки того, соответствует ли имя рабочего листа набору значений с использованием оператора If:
If Name = «Budget» Or Name = «Forecast» Or Name = «Trailing12» Or _
Name = «Flex» или Name = «OtherRatios» или Name = «Сравнение» или _
Имя = "BudReview" Или Имя = "P&L_Review" Или Имя = "Другое" Тогда
'Сделай что-нибудь
Конец, если Вот тот же код, но вместо него используется оператор Select:
Select Case Name
Кейс "Бюджет", "Прогноз", "Трейлинг12", "Флекс", "Другие отношения", _
"Сравнение", "BudReview", "P&L_Review", "Другое"
'Сделай что-нибудь
End Select Как видите, в этом сценарии гораздо проще использовать оператор Select. Это значительно меньше печатать, и это намного легче читать.
Примеры VBA Select Case
Ex 1. Оператор Case, определяемая пользователем функция (UDF)
Давайте воспроизведем приведенный выше пример расчета оценок и создадим пользовательскую функцию для расчета балла учащегося:
Функция GetGrade(Score As Integer) As String
Выберите оценку дела
Случай от 90 до 100
ПолучитьОценку = "А"
Случай 80–90
ПолучитьОценку = "В"
Случай 70–80
ПолучитьОценку = "С"
Случай 60–70
ПолучитьОценку = "D"
Дело еще
ПолучитьОценку = "F"
Конец выбора
Завершить функцию Теперь мы можем использовать функцию GetGrade на листе Excel для быстрого подсчета оценок учащихся:
Пример 2.
Имя тестового листа/оператор цикласоответствуют определенным критериям:
Sub Case_UnProtectSheet()
Dim ws As рабочий лист
Для каждого ws в рабочих листах
Выберите Case ws.Name 'Список всех листов с коэффициентами
Кейс "Бюджет", "Прогноз", "Трейлинг12", "Флекс", "Другие отношения", _
"Сравнение", "BudReview", "P&L_Review", "Другое"
ws.Unprotect
Конец выбора
Следующий мс
Конец суб Пример 3. Выбор случая — значение ячейки
В этом примере проверяется оценка учащегося в ячейке, и буквенная оценка выводится непосредственно в ячейку справа.
Sub TestCellValue()
Затемнить ячейку как диапазон
Установить ячейку = диапазон ("C1")
Выберите ячейку Case.Value
Случай от 90 до 100
ячейка.Смещение (0, 1) = "А"
Случай 80–90
ячейка.Смещение (0, 1) = "В"
Случай 70–80
ячейка.Смещение (0, 1) = "С"
Случай 60–80
ячейка.
Смещение (0, 1) = "D"
Конец выбора
Конец суб Пример 4. Выбор случая – даты
Этот пример выбора случая представляет собой функцию, которая проверяет, в какой квартал попадает дата.
Sub TestDate ()
MsgBox GetQuarter(CDate("20.07.2019"))
Конец сабвуфера
Функция GetQuarter(dt As Date) As Integer
Dim sht As Worksheet
Выберите Case dt
Дело CDate("01.01.2019") To CDate("31.03.2019")
ПолучитьКвартал = 1
Дело CDate("01.04.2019") To CDate("30.06.2019")
ПолучитьКвартал = 2
Дело CDate("01.07.2019") К CDate("30.09.2019")
ПолучитьКвартал = 3
Дело CDate("01.10.2019") To CDate("31.12.2019")
ПолучитьКвартал = 4
Конец выбора
Завершить функцию Поскольку это функция, вы можете использовать ее как функцию внутри Excel:
Пример. 5 Проверить, является ли число нечетным или четным
В этом примере проверяется, является ли число нечетным или четным.
Sub CheckOddEven()
Dim n как целое число
n = InputBox("Введите число")
Выберите Case n Mod 2
Случай 0
MsgBox "Число четное."
Случай 1
MsgBox "Число нечетное."
Конец выбора
Конец суб Пример. 6 Проверить, выпадает ли дата на будний или выходной день
В этих примерах проверяется, приходится ли дата на будний или выходной день.
Sub CheckWeekDay()
Dim dt как дата
dt = CDate("1/1/2020")
Выберите день недели дела (дт)
Дело vbMonday
MsgBox "Сегодня понедельник"
Случай vbВторник
MsgBox "Сегодня вторник"
Дело vbСреда
MsgBox "Сегодня среда"
Дело vbЧетверг
MsgBox "Сегодня четверг"
Дело vbFriday
MsgBox "Сегодня пятница"
Дело vbСуббота
MsgBox "Сегодня суббота"
Случай vbSunday
MsgBox "Сегодня воскресенье"
Конец выбора
Конец суб Sub CheckWeekend()
Dim dt как дата
dt = CDate("1/1/2020")
Выберите день недели дела (дт)
Случай vbSaturday, vbSunday
MsgBox "Сегодня выходные"
Дело еще
MsgBox "Сегодня не выходные"
Конец выбора
End Sub Выбор регистра VBA в Access
Все приведенные выше примеры работают точно так же в Access VBA, как и в Excel VBA.
Если этот параметр не указан, автоматически вставляется ключевое слово Is.
Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8 ' Number between 6 and 8.
Debug.Print "Between 6 and 8"
Case 9 To 10 ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else ' Other values.
Debug.Print "Not between 1 and 10"
End Select

– Text
.."))
Выберите случай n
Случай 10
'Если n равно 10, то
Случай 20, 30, 40
' Если n равно 20/30/40, то
Дело еще
' Если n не равно 10/20/30/40, то
Конец выбора
Конец суб
Смещение (0, 1) = "D"
Конец выбора
Конец суб