Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA Select Case 문 사용해서 다중조건 처리하기

엑셀(Excel)/VBA
반응형

 

다중조건을 처리하는데 있어서 IF~ELSEIF~ELSEIF~ENDIF 와 같이 문법을 적용해서 처리할 수도 있지만 주로 Select Case 문을 이용합니다. 다른 개발언어에서는 Switch Case 라고 하는데 VBA 에서는 Select Case 로 쓰네요. If~ElseIf 보다 좀더 깔끔하고 가독성이 좋습니다.

 

1. Select Case 문법

 

▼ 문법은 다음과 같습니다. 다중 조건 문인 Select Case 에서는 Case 뒤에 오는 조건문이 참일 때 실행되는 구조입니다. IF ~ ELSEIF 보다 단순해서 다중 조건에 많이 사용하는 문법입니다. 만약 일치하는 조건문이 없는 경우 Case Else 문이 실행됩니다.

Select Case 조건문 대상 
   Case 조건1
      “반환1”
   Case 조건2
      “반환2”
   [Case .. 문 계속추가함]
   Case Else
      “어느 Case 문에도 해당하지 않을 때”
End Select

 

2. 샘플

 

select case 를 이용한 다중 조건문 샘플은 아래와 같습니다. 사용자가 입력한 값을 Select Case 로 판단해서 결과값을 출력하는 소스입니다.

Sub Input_Click()
Dim inputdata As String
    Dim LRegionName As String

    inputdata = InputBox("방위를 입력하세요.", "방위")

    Select Case inputdata
        Case "N"
            LRegionName = "North"
        Case "S"
            LRegionName = "South"
        Case "E"
            LRegionName = "East"
        Case Else
            LRegionName = "West"
End Select

    MsgBox "방위는 ? " & LRegionName

End Sub

 

▼ 함수는 엑셀 시트에 추가한 버튼으로 실행합니다. VBA 에서 InputBox() 함수는 그림처럼 입력박스를 띄울 수 있습니다. 사용자가 입력한 값을 받기 위한 팝업창입니다. 소스를 실행한 결과 화면입니다.

 

▼ 입력 박스에 값을 넣고 확인을 누르면 화면에 결과 팝업창이 나타납니다. 소스에서 결과를 출력하는 함수는 MsgBox 입니다.

 

▼ 버튼과 VBA 이벤트 함수를 연결하는 방법은 아래 포스팅을 참고하세요.

https://mainia.tistory.com/1065

 

엑셀 Excel VBA 개발 도구를 이용해서 버튼 삽입하고 함수 연결하기

엑셀에서 좀더 확장된 기능을 구현하기 위해서는 개발 도구를 활성화 시켜야 합니다. 개발 도구에는 매크로, COM 추가기능, 확장 컨트롤 등 잘 사용하면 웬만한 4GL 툴들 못지않은 기능들이 들어

mainia.tistory.com

https://mainia.tistory.com/5841

 

엑셀 VBA 매크로 실행 버튼으로 코드 실행하기

VBA 와 엑셀 시트간의 연계를 위한 매크로 실행 버튼은 VBA 작업에 있어서 가장 기본이 됩니다. 직접 만든 소스를 실행하는 방법 중 하나이기 때문입니다. 오늘은 개발 도구에서 제공하는 ActiveX 컨

mainia.tistory.com

 

반응형
Posted by 녹두장군

댓글을 달아 주세요