Lost Information!

엑셀 VBA 기초 - 진정한 자동화를 원하다면 - 2편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - 진정한 자동화를 원하다면 - 2편

Lostinformation 2020. 9. 23. 16:25

모두가 칼퇴하는 그날까지~

지난 글에서는 

 

A = Range("B1000"). End(xlUp). Row

 

이렇게 변수를 설정하면서 

데이터의 양과 관계없이 

세로로 된 표의 마지막까지 원하는

색상으로 변경할 수 있었는데요.

 

만일 기억이 나지 않는다고 하시면

지난 글을 참고해주세요.

red-s.tistory.com/2409

 

엑셀 VBA 기초 - 진정한 자동화를 원하다면 - 1편

모두가 칼퇴하는 그날까지~ 지난 글까지 엑셀 VBA 반복문과 IF문 그리고 두 개의 활용까지 설명해 드렸었는데요. 생각해보면 프로그래밍을 할 때 데이터의 값을 보고 제가 직접 어디부터 어디까

red-s.tistory.com

 

그러면 이번 글은 가로로 된 표의

데이터양과 관계없이 색상을

변경하는 코딩을 알려드릴게요.

 

 

먼저 이렇게 가로로 된 표가

있다고 가정해볼게요.

 

저번 글처럼 각각의 실적에 대해

700 미만인 지점은 해당 실적을

빨간색으로 변하도록 코딩은

해볼 건데요.

 

지난 글과 겹치는 부분들도

있을 수 있으니 복습하면서

이번엔 어떻게 적는지 

확인해보세요

 

먼저 Alt + F11 버튼을 

눌러주시고요.

(비주얼 베이식 단축키입니다.)



 

오른쪽 마우스 누르고

삽입에서 모듈 눌러주세요

 

이후에 sub 적어주시고 

만들어지는 코딩 이름

적어주시면 되는데

오늘도 저는 test라는 이름으로

만들도록 하겠습니다.

 

 

 

지난 글에서 배운 것처럼

이렇게 적어주시면 700보다

작은 숫자 값들은 빨간색으로

변경되는 것 보실 수 있을 텐데요.

 

복습과 달라진 부분까지 

설명해 드릴게요.

 

Dim i As Long

변수 타입이 숫자인 i라는 

변수를 설정할 거야  


Dim B As Long

변수 타입이 숫자인 B라는 

변수를 설정할 거야  

 

B = Range("XFD2"). End(xlToLeft). Column

B는 XFD2셀부터 왼쪽으로 이동하면서

마지막 열의 번호를 찾아  

 

For i = 2 To B
그리고 변수는 2부터 A까지야 

   
If Cells(2, i) < 700 Then

셀 안의 값이 700보다 작다면      

            
Cells(2, i). Font.ColorIndex = 3

셀 안의 폰트 색깔을 3번

인덱스 색상으로 변경해줘

 

이렇게 적고 실행하게 되면

 

 

이렇게 표가 변경되죠.

 

그렇다면 가로일 때와 세로일 때

어느 부분이 달라졌을까요?

 

바로

Range("XFD2"). End(xlToLeft). Column

Cells(2, i)

 

이렇게 두 가지만 변경되었는데요.

 

Cells(i, 2)에서 (2, i)로 변경된 건

가로와 세로니까 알겠는데 

 

B1000에서 XFD는 무엇인지 

모르는 분들 위해 설명드리면요.

 

먼저 엑셀에서 Ctrl(컨트롤)

누르고 아래 방향키를 눌러보세요.

 

그럼 엑셀 2010 기준 1048576이라는

숫자가 옆에 보이실 겁니다.

 

원래는 B1048576으로 설정해주면

정말 맨 밑에서부터 올라오게

되겠지만 표가 그렇게 긴 일은

흔하지 않으니 1000으로 설정

해줬던 거고요.

 

 

이번에는 Ctrl 누르시고 오른쪽

방향키를 눌러주시면 이런 화면

이 나오실 텐데요.

 

마찬가지로 엑셀 2010 기준

XFD까지 존재합니다.

 

그래서 XFD부터 2까지 왼쪽

으로 이동하면서 숫자가 있는

셀을 발견하게 되면 거기까지가 

변수의 범위가 될 수 있도록 

최대 폭으로 설정해 줬던 거죠.

 

저번 글의 가로 편이었기에

오늘도 쉬웠을 거라고 생각합니다.

 

혹시 궁금한 점 있으시면 

댓글에 남겨주시고요.

 

공감 구독도 부탁드릴게요~


            

Comments