Как написать оператор case в 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.
  • В противном случае « ОК », если значение в столбце 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: как подсчитать количество строк в диапазоне

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *