[엑셀] 엑셀 VBA 예제5 값에 따라 셀 색깔 바꾸는 엑셀 매크로

2016. 8. 25. 10:27·기타
반응형

출처: http://simon-k.tistory.com/27


이번 예제는 엑셀에 값을 입력할 때 마다 지정한 값에 따라서 셀 색상이 바뀌는 엑셀 매크로입니다.


[엑셀 VBA 강의 #15]에서 강의한 내용을 응용했습니다.



실전예제5.xlsm






위와 같은 시트에서, 거래금액 란의 금액에 따라 색깔이 자동적으로 바뀌는 매크로를 만들어 보고자 합니다.


Private Sub worksheet_change(ByVal Target As Range)


Dim i As Integer

Dim n As Integer

Dim m As Integer


If Not Intersect(Range("c2:c9"), Target) Is Nothing Then

'----------------------여기부터 범위가 1보다 클 경우

If Target.Count > 1 Then            '타겟의 범위가 1보다 크다면(바뀌는 값의 범위가 한개가 아니라면)


n =  Target.Row                    '값을 수정하는 범위의 첫 행 (가장 윗행)

m = n + Target.Count - 1            '값을 수정하는 범위의 마지막 행(첫 행 + 범위 크기 - 1)


For i = n To m                            '범위의 첫 행부터 마지막 행까지 반복


    Select Case Cells(i, 3).Value            '셀의 값을 조건으로 한 조건문

    Case 0                                        '값이 0이라면(없다면)

    Cells(i, 3).Interior.color = xlNone        '셀을 투명하게(초기화)

    Case Is < 300000                            '값이 300000보다 작다면

    Cells(i, 3).Interior.color = RGB(255, 0, 0)        'red 색상으로 변경

    Case 300000 To 10000000                '값이 300000과 10000000 사이라면

    Cells(i, 3).Interior.color = RGB(0, 255, 0)        'green 색상으로 변경

    Case Is > 10000000                        '값이 10000000보다 크다면

    Cells(i, 3).Interior.color = RGB(0, 0, 255)        'blue 색상으로 변경

    End Select

Next i                    '다음 셀에서 반복


Exit Sub                '프로시져 종료

else

End If

'-------------------------여기까지 범위가 1보다 클 경우


'-------------------------여기부터 범위가 1일경우(한개의 셀만 수정할 경우)



    Select Case Target

        Case 0

        Target.Interior.color = xlNone

        Case Is < 300000

        Target.Interior.color = RGB(255, 0, 0)

        Case 300000 To 10000000

        Target.Interior.color = RGB(0, 255, 0)

        Case Is > 10000000

        Target.Interior.color = RGB(0, 0, 255)

    End Select

End If


End Sub





※ 이해가 안된다면 [엑셀 VBA #15] 강의를 읽어보세요.





Target의 범위가 무엇을 뜻하는 것인가요?


셀의 값을 수정할 경우, 일반적으로 한 개의 셀을 선택한 후 값을 집어넣지만,

복사 붙혀넣기를 통해 여러 값을 한번에 넣을 수도 있고, 셀을 드래그 블록지정 한 후 삭제를 해서 값을 없앨 수도 있습니다.


이러한 경우 Select Case Target으로 조건문을 만든다면, 타겟의 범위가 넓고, 값이 여러개이기 때문에 에러가 나게 됩니다.

따라서, Range 범위가 1일 경우와 1보다 큰 경우를 따로 설정하여 에러를 방지하기 위함입니다.


범위가 1보다 클 경우 반복문을 사용해 셀을 하나씩 읽어들이는 방법을 사용합니다.





반응형
저작자표시 (새창열림)

'기타' 카테고리의 다른 글

[엑셀] VBA에서 Text 파일 저장하기 (UTF-8 로 저장하기)  (0) 2016.08.25
[엑셀] 텍스트파일 import하는 기본코드 (엑셀 VBA 매크로)  (0) 2016.08.25
[엑셀] 엑셀 VBA 예제1 텍스트 파일(.txt) 엑셀에 입력하기  (0) 2016.08.25
[엑셀] 엑셀 #N/A안나오게 하는 방법  (0) 2016.07.29
[엑셀] 엑셀 작업영역 제한하기  (0) 2016.07.27
'기타' 카테고리의 다른 글
  • [엑셀] VBA에서 Text 파일 저장하기 (UTF-8 로 저장하기)
  • [엑셀] 텍스트파일 import하는 기본코드 (엑셀 VBA 매크로)
  • [엑셀] 엑셀 VBA 예제1 텍스트 파일(.txt) 엑셀에 입력하기
  • [엑셀] 엑셀 #N/A안나오게 하는 방법
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    판교
    상호관세
    복리후생
    대통령
    무역전쟁
    맛집
    쥬쥬랜드
    마케팅
    점심
    판교맛집
    이재곧죽습니다
    런치
    판교역
    수제버거맛집
    보안가이드
    AWS
    수제버거존맛
    유니티
    수제버거
    돈까스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
[엑셀] 엑셀 VBA 예제5 값에 따라 셀 색깔 바꾸는 엑셀 매크로
상단으로

티스토리툴바