Як написати заяву про випадок у vba (з прикладом)
Оператор case — це тип оператора, який циклічно перебирає умови та повертає значення, коли виконується перша умова.
Ви можете використовувати такий базовий синтаксис, щоб написати оператор case у VBA:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
У цьому конкретному прикладі розглядається кожна клітинка в діапазоні B2:B9 і повертаються такі значення в діапазоні C2:C9 :
- « Відмінно », якщо значення в стовпці B більше або дорівнює 30.
- В іншому випадку « Добре », якщо значення в стовпці B більше або дорівнює 20.
- В іншому випадку « OK », якщо значення в стовпці B більше або дорівнює 15.
- В іншому випадку « Погано », якщо не виконується жодна з попередніх умов.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: Написання інструкції Case у VBA
Припустимо, у нас є такий набір даних в Excel, який показує кількість очок, набраних різними баскетболістами:
Припустімо, ми хочемо написати заяву про випадок, щоб призначити кожному гравцеві оцінки «Відмінно», «Добре», «Добре» чи «Погано» на основі кількості набраних очок.
Для цього ми можемо створити такий макрос:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець C повертає значення «Відмінно», «Добре», «ОК» або «Погано» на основі відповідного значення в стовпці B.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як класифікувати список значень
VBA: Як підрахувати унікальні значення в діапазоні
VBA: як підрахувати кількість рядків у діапазоні