본문 바로가기
VBA

[VBA_Select Case] 데이터 재배치

by 일등미노왕국 2021. 8. 9.

한글재배치

  엑셀로 점수별 등급 나누는 문제는 엑셀을 접한 분들은 한번씩 거쳐가는 통과의례 같은 문제이다. 허나 참 중요한 구문인것을 부인할 수도 없기에 엑셀로 작업을 할때 IF에 IF에 IF를 거쳐 의식이 2% 정도만 남아 있을 때까지 해야 IF 지옥에서 빠져나올 수 있다.

  오늘 소개할 구문은 SELECT CASE 구문이다. 

SELECT CASE 값
    CASE IS => 90:RANGE("A2") = "우수"
    CASE IS => 80:RANGE("A2") = "보통"
    CASE IS => 70:RANGE("A2") = "위험"
    CASE ELSE : RANGE("A2") = "낙제"
END SELECT

CASE IS -> 부등호를 동반할때
--------------------------------------------------
SELECT CASE 값
    CASE "A":RANGE("A2") = "우수"
    CASE "B":RANGE("A2") = "보통"
    CASE "C":RANGE("A2") = "위험"
    CASE ESLE : RANGE("A2") = "낙제"
END SELECT

CASE -> 부등호없이 값이 나올때

rngAll영역을 rngA값이 순환하면서 각 case에 맞게 조합값을 해당 셀에 출력
재배치 된 영역의 서식부분

  눈으로 보면 크게 위화감 없이 그대로 읽힐 수 있는 구문이나, 이상하게 VBA를 사용하시는 분들의 외면을 받는 코드이다. 개인적으로도 잘 안 쓰기도 하는데 이유는 일단 코드가 너무 1차원적이어서 그런듯 하다. VBA는 대량의 코드를 엑셀로는 물리적으로 힘든 코드들을 매크로라는 기능으로 도움을 받는 것인데 이정도면 그냥 엑셀 함수로 쫘라락 하는게 더 빠를 것 같다. 그래도 모르는 것 보다 사알짝 알고 넘어가는게 정신건강에 이로우니 참고하길 바란다.

한글기준재배치(20.11.12).xlsm
0.02MB

 

댓글