[VBA 제 17강] 특정셀에 색상입히기 썸네일 이미지
[VBA 제 17강] 특정셀에 색상입히기
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회2,423
즐겨찾기
[VBA 제 17강] 특정셀에 색상입히기를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 




[ 기초 강좌 ]

 

제 17 강

특정셀에 색상입히기

 

Excel의 생명이라고 할 수 있는 특정셀에 색상입히기

그 사용법을 알아봅니다.

이럴 때 필요해요

 

주어진 데이터에서 특정셀에 색상을 입히고 싶을 때 사용합니다.

이렇게 사용해요

아래의 데이터에서 빈셀만 특정 색상으로 입혀보는 방법을 알아봅시다.

 



사용되는 코드를 함께 살펴 보도록 하겠습니다.

 

 Sub Coloring()

  Dim r As Integer, intRow As Integer

 '먼저, r과 intRow라는 정수형 변수를 선언합니다.

 intRow = Cells(65536, 3).End(xlUp).Row

 ' intRow라는 변수는 C열에서 데이터가 입력된 마지막 셀의 행 번호(Row)임을 정의합니다.

 ' 참고로, C65536 셀을 선택하신 다음, 키보드의 Ctrl+↑ 키를 눌러 보시기 바랍니다.

  For r = 6 To intRow

 ' 변수 r은 6, 즉 데이터가 입력된 첫번째 셀의 행 번호(6)부터 마지막 행 번호(intRow) 까지로

 ' 정의해 주면, 아래 If ~ Then 문 안의 명령문을 순환하며 수행하게 됩니다.

    If IsEmpty(Cells(r, 3)) Then

    Cells(r, 3).Interior.ColorIndex = 41

 ' Cells(r, 3) 는 Cells(행번호, 열번호)이므로 3열(즉, C열)의 6행부터 intRow행까지의

 ' 셀들 중에서 값이 비어 있는(IsEmpty)셀에만 파란색(ColorIndex = 41)을 입혀 줍니다.

    Else

    Cells(r, 3).Interior.ColorIndex = xlNone

 ' 그 외(Else)의 경우, 즉 값이 들어 있는 셀에는 채우기 없음(ColorIndex = xlNone)로

 ' 지정해 줍니다.

    End If

 '  If문을 종료(End If)하고, For~ Next 순환문 역시 종료(Next r)합니다.

   Next r

End Sub

 

 

이렇게 회색박스안에 있는 수식을 작성하여 실행하게 되면, 아래와 같은 결과가 나오게 됩니다.

 

 

 

 

이해가 되셨는지요?  그런데, 여기서 "그렇다면, For r = 6 To intRow 부분에서 intRow를 C열 에서의

마지막 행 번호인 35로 지정해서 그냥, For r = 6 To 35로 정의해 주면 될 것을 안 그래도 복잡한데

뭐하러 intRow라는 변수까지 굳이 동원해야 되나요?" 라고 생각하시는분도 계실 것 같군요.

 

의문에 대한 해답은 간단합니다. 즉, 데이터가 C35 셀의 범위를 벗어 나서 C36, C37, C38 …등의 셀에도 계속

늘어 날 수 있는 경우라도, 항상 C열 마지막 셀의 행번호(Row)를 구하기 위해, intRow 라는 변수를 선언한

다음, intRow = Cells(65536, 3).End(xlUp).Row 라고 정의해 준 것입니다.

 

만약, 위 프로시저와는 반대로 C열의 데이터들 중에서 값이 들어 있는 셀, 즉 비어 있지 않은 셀에 특정한 색상을 입혀야 하는

경우라면, 어느 부분을 어떻게 수정해야 할까요? 이것은 숙제!

 

 

 

 

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 17강] 특정셀에 색상입히기
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중