[ 엑셀VBA 5 ] 불량관리 프로그램 만들기 - 조건문 Select Case 엑셀VBA 이야기2014. 12. 8. 21:59
[ 엑셀VBA 5 ] 불량관리 프로그램 만들기 - 조건문 Select Case
엑셀VBA를 하다보면 여러가지 정해진 조건들을 한꺼번에 지정하려다 보며 중첩 IF문등으로는 한계를
경험하게 되는 데 12개월의 숫자로 받은 데이터를 디스플레이 및 문서를 위해 영문으로 표현한다것나
하는 부분 처럼 다양한 조건을 한가지 조건문으로 표현하기 어려운 경우 사용할 수가 있다.
예시) 1월 ~ 12월 데이터를 조회시는 숫자로 쓰다가 문서에 표시할때는 영어로 표현하는 예시이다.
ActiveSheet.Cells(1, 1).Value = Month(Now()) ' 현재시트의 A1번에 현재날짜의 월값을 입력한다. --> 결과 12
Select Case ActiveSheet.Cells(1 1).Value '--> A1번시트의 숫자에따라 값을 출력한다.
Case 1: ActiveSheet.Cells(1, 2).Value = "Jan" '--> A1번의 값이 1인 경우 "Jan"을 출력한다. 하기는 월별로 영문값을
Case 2: ActiveSheet.Cells(1, 2).Value = "Feb" ' 출력한다.
Case 3: ActiveSheet.Cells(1, 2).Value = "Mar"
Case 4: ActiveSheet.Cells(1, 2).Value = "Apr"
Case 5: ActiveSheet.Cells(1, 2).Value = "May"
Case 6: ActiveSheet.Cells(1, 2).Value = "Jun"
Case 7: ActiveSheet.Cells(1, 2).Value = "July"
Case 8: ActiveSheet.Cells(1, 2).Value = "Aug"
Case 9: ActiveSheet.Cells(1, 2).Value = "Sep"
Case 10: ActiveSheet.Cells(1, 2).Value = "Oct"
Case 11: ActiveSheet.Cells(1, 2).Value = "Nov"
Case 12: ActiveSheet.Cells(1, 2).Value = "Dec"
Case else '
msgbox "13이하의 값을 입력" '--> 현재 입력값이 1~ 12사이의 값이 아니면 값을 입력하라는 메세지를 띄움
End Select
여기서 Select Case 구문을 마치는 데 이러한 구조를 이용하면 특정한 경우를 Function으로 만들어 월을 문자로 출력
하는 것이 가능하다.
불량율관리 프로그램 만들기 시리즈
'엑셀VBA 이야기' 카테고리의 다른 글
[ 엑셀VBA 6 ] 불량관리 프로그램 만들기 - 데이터베이스 구성 (0) | 2014.12.18 |
---|---|
[ 엑셀VBA ] 입력된 날짜의 마지막 날짜 구하기 - DateAdd 함수 (0) | 2014.12.08 |
[ 엑셀VBA ] 데이터의 형식과 변수 선언 (0) | 2014.12.08 |
[ 엑셀VBA 4 ] 불량관리 프로그램 만들기 - 반복문 For ~ next , Do while (0) | 2014.12.05 |
[ 엑셀VBA ] 시트이동 (0) | 2014.12.02 |