VBA에서 Select Case 문을 사용하는 방법은 무엇입니까? (예시)

Excel VBA Select Case 문

Select Case 는 VBA에서 여러 if 문을 작성하는 대신 코드에 여러 조건이있는 경우 여러 If 문을 사용해야 할 수 있으며 더 많은 If 문이 제공됨에 따라 더 복잡해 지므로 지루할 수 있습니다. Select case statement 우리는 기준을 다른 사례와 결과로 정의합니다.

SELECT CASE는 의사 결정 과정에 도움이됩니다. 이 경우 가능한 다른 경우를 평가하는 데 하나의 표현식 만 사용됩니다. 여러 조건을 쉽게 분석하여 개발 된 코드를 실행합니다. 이 case 문은 표현식을 평가하기 위해 ELSE IF에 대한 대체 문으로 사용됩니다. Excel에 내장 된 논리 함수로 분류됩니다. 이 기능을 사용하려면 개발자 탭 아래에있는 비주얼 베이직 편집기를 통해 코드를 입력해야합니다.

설명

Select Case에는 다양한 문 그룹이 사용됩니다. 이를 효과적으로 사용하려면 다음 구문을 따라야합니다. Java, C # 및 PHP와 같은 다른 프로그래밍 언어에서 제공되는 switch 문과 유사합니다.

 [Case] ​​테스트 할 표현식 선택 [Case] ​​표현식 문 목록 (Case 1, Case 2, Case 3 등 ...) Case Else (Else 문) End Select 

선택 사례와 관련된 용어에 대한 설명은 다음과 같습니다.

테스트를위한 표현식 : 정수, 문자열, 부울, 객체 및 문자와 같은 다양한 유형의 데이터를 평가하는 데 필요합니다.

표현식 목록 :  입력 한 입력과 정확히 일치하는 항목을 찾기 위해 대소 문자를 사용하여 표현식이 생성됩니다. 두 개 이상의 표현식 인 경우 쉼표 연산자를 사용하여 구분됩니다. 'Is'는 =,, =와 같은 엑셀에서 논리 연산자를 사용하여 두 표현식을 비교하는 데 사용되는 키워드입니다.

  • End Select : 생성자 선택 케이스 정의를 닫습니다.
  • 문 : 문은 일치하는 문이 있는지 분석하기 위해 평가되는 표현식을 실행하기 위해 case를 사용하여 개발됩니다.
  • Else 문 : 테스트 표현식이 어떤 case 문과도 일치하지 않을 때 else 문을 테스트합니다.

VBA Select Case 문을 사용하는 방법은 무엇입니까?

VBA에서 제공하는 선택 사례 기능은 일반 워크 시트에서 실행되지 않습니다. 개발자 탭에서 Visual Basic 옵션을 사용해야합니다. 비즈니스 분야의 다양한 소형 애플리케이션을 실행하기 위해 개발자 모드에서 생성 된 사용자 정의 함수 및 코딩.

Excel에 중첩 된 if 문이있는 상황에서 사용됩니다. 다양한 사례 진술을 처리하는 가장 좋은 옵션입니다. 이 옵션을 효과적으로 사용하려면 다음 작업을 수행해야합니다.

  • 먼저 엑셀 시트에 명령 단추 컨트롤을 배치하여 매크로를 만들어야합니다.
  • 그 후 명령 버튼을 마우스 오른쪽 버튼으로 클릭하고 코드보기 옵션을 선택합니다.
  • 명령 버튼 기능과 end sub 사이에 코드를 넣으십시오.
  • 코드를 디버그하여 구문 오류를 식별하십시오.
  • 코드를 컴파일하여 프로그램을 성공적으로 실행하기위한 컴파일 오류를 찾습니다.
  • 일치 기준에 따라 다른 결과를 관찰하도록 입력 값을 변경합니다.
여기에서이 VBA Select Case Excel 템플릿을 다운로드 할 수 있습니다 – VBA Select Case Excel 템플릿

예제 # 1 – 간단한 Select Case 문

이 예제는 일치하는 값을 찾기위한 간단한 선택 케이스를 이해하는 것입니다.

암호:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "First Case is matched!" 사례 20 MsgBox "두 번째 사례가 일치합니다!" 사례 30 MsgBox "선택 사례에서 세 번째 사례가 일치합니다!" 사례 40 MsgBox "선택 사례에서 네 번째 사례가 일치합니다!" Case Else MsgBox "일치하는 케이스가 없습니다!" 끝 선택 끝 하위

결과:

4 개의 case 문과 case else 문을 사용하여 테스트 표현식을 다른 케이스와 비교합니다. 이 예에서 두 번째 케이스는 변수 A가 20과 일치하는 것으로 일치합니다.

예 # 2 – 등급 테스트를위한 'To'키워드

이 예에서는 select case와 함께 'To'키워드를 사용하는 방법을 설명합니다.

암호:

Private Sub Selcasetoexample () Dim studentmarks As Integer studentmarks = InputBox ( "Enter marks between 1 to 100?") Select Case studentmarks Case 1 to 36 MsgBox "Fail!" 사례 37 ~ 55 MsgBox "C 등급"사례 56 ~ 80 MsgBox "B 등급"사례 81 ~ 100 MsgBox "A 등급"Case Else MsgBox "범위를 벗어남"End Select End Sub

결과:

'To'키워드는 범위에서 테스트 표현식 세트를 정의하는 데 유용합니다. 여러 사례를 비교하여 학생이 얻은 성적을 찾는 데 도움이됩니다. 프로그램을 실행 한 후 결과를 얻으려면 값을 입력해야합니다.

출력은 위 스크린 샷과 같이 메시지 상자와 함께 표시됩니다.

예 # 3 – Select Case와 함께 'Is'키워드 사용

이 예제는 select case와 함께 'Is'키워드의 사용을 보여줍니다.

암호:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ( "Please enter a number") 대소 문자 선택 NumInput 대소 문자 = 200 MsgBox "200보다 크거나 같은 숫자를 입력했습니다"End Select End Sub 

'Is'키워드는 case 문만으로 일치하는 값을 찾는 데 도움이됩니다. 테스트 표현식을 주어진 입력과 비교하여 출력을 생성합니다.

입력 한 값이 200 이상이면 그림과 같이 출력됩니다.

예제 # 4 – 값 변경을위한 명령 버튼 사용

매크로를 만들어 명령 단추와 함께 사용되는 선택 사례도 있습니다.

암호:

 Sub color() Dim color As String color = Range("A1").Value Select Case color Case "Red", "Green", "Yellow" Range("B1").Value = 1 Case "White", "Black", "Brown" Range("B1").Value = 2 Case "Blue", "Sky Blue" Range("B1").Value = 3 Case Else Range("B1").Value = 4 End Select End Sub 

As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.

When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-

Example #5 – Check a Number Odd or Even

This example to help to check a number is even or odd.

Code:

 Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub 

The coding is developed as shown in the screenshot and output is displayed as follows when even number is entered.

Example #6 – Nested Select Case Statements

Nesting is a useful feature of the select case and the way how it is done is shown.

Code:

 Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.