일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 카톡 영상 유출
- 카톡 영상 협박
- 카카오톡 사기
- 영상통화 유출
- 몸캠피씽
- 라바웨이브
- 영상통화사기
- 라인 영상통화 사기
- 사이버 범죄 구제 업체
- 영통협박
- 영통사기
- 영상 사기
- 랜덤채팅 사기
- 영상통화 사기
- 동영상유포협박
- 동영상 사기
- 카톡 영상 사기
- 사이버범죄구제
- 라인 동영상 유포
- 메신저톡 사기
- 팀카시아
- 엑셀#직장인칼퇴#칼퇴#직장인엑셀#VBA 배열#배열변수
- 카카오톡 협박
- 영상통화 협박
- 영통 협박
- 사이버범죄구제업체
- 영상사기
- 라인 영상통화 협박
- 몸캠피싱
- 영상유출
- Today
- Total
Lost Information!
엑셀 VBA 기초 - 진정한 자동화를 원하다면 - 1편 본문
모두가 칼퇴하는 그날까지~
지난 글까지 엑셀 VBA 반복문과 IF문
그리고 두 개의 활용까지
설명해 드렸었는데요.
생각해보면 프로그래밍을 할 때

데이터의 값을 보고 제가 직접
어디부터 어디까지 라고
구간을 지정해 주었는데요.
그렇기 때문에 진정한 자동화라고
말할 수는 없었습니다 ㅠㅠ
그래서 오늘은 알아서
마지막 행렬까지 찾아서
자동화하는 방법에 대해
알려드리도록 할게요~
(이제 슬슬 칼퇴를 위한
스킬들이 하나씩 공개됩니다.)

먼저 이렇게 실적을
나타내는 표가 있다고
가정을 해볼게요.
각각의 실적에 대해
95 미만인 지점은 해당 실적을
빨간색으로 변하도록 코딩은
해볼 텐데요.
지난 글과 겹치는 부분들도
있을 수 있으니 복습하면서
어떤 새로운 방법을
쓰는지 확인해보시면
더욱 좋을 것 같습니다.
먼저 Alt + F11 버튼을
눌러주시고요.
(비주얼 베이직 단축키입니다.)

오른쪽 마우스 누르고
삽입에서 모듈 누르시는 거
안 까먹으셨죠?
이후에 sub 적어주시고
만들어지는 코딩 이름
적어주시면 되는데
저는 test로 하겠습니다.

지난 글에서 배운 것처럼
이렇게 적어주시면 95보다
작은 숫자 값들은 빨간색으로
변경되는 것 보실 수 있을 텐데요.
복습으로 설명해드리면
Dim i As Long
변수 타입이 숫자인 i라는
변수를 설정할 거야
For i = 2 To 16
i는 2부터 16까지 변경하며
If Cells(i, 2) < 95 Then
셀 안의 값이 95보다 작다면
Cells(i, 2). Font.ColorIndex = 3
셀 안의 폰트 색깔을 3번
인덱스 색상으로 변경해줘
(3번 인덱스는 빨간색입니다)

위의 코딩을 적고 실행하게 되면
이렇게 변경되는 걸 볼 수 있게 되죠.
하지만 만일 이렇게 긴 표가
있다면 어떻게 할까요?

만일 아까 코딩 그대로
실행하게 된다면 상수를
16까지 밖에 설정하지
않았기 때문에 31행까지는
인식하지 못할 겁니다.
결국 데이터의 양을 보고
내가 다시 수정해줘야 하고
데이터의 양과 관계없이
16행까지밖에 인식하지 못하는
코딩이 돼버린 거죠.
그렇다면 도대체 어떻게
코딩을 해야 알아서 마지막 행
또는 마지막 열의 번호를
알아서 인식할 수 있을까요?

바로 이렇게 적어주시면 되는데요.
추가된 문장을 설명드리면
Dim A As Long
변수 타입이 숫자인 A라는
변수를 설정할 거야
A = Range("B1000"). End(xlUp). Row
A는 B 1000셀부터 위로 올라오면서
마지막 행의 번호를 찾아
For i = 2 To A
그리고 변수는 2부터 A까지야
결국 이렇게 변수를 두 개
설정하는 것만으로도
이제는 굳이 같은 표의 형식이라면
데이터의 양과 관계없이
원하는 색으로 변경하실 수
있게 된 거죠.
바로 이렇게요.

우리의 칼퇴를 위해서는
정말 많은 양의 표를 보고
데이터를 처리해야 하는 만큼
꼭 기억해주시면 도움이
되실 거라고 생각하고요.
궁금하신 점 있으시면 댓글로
부탁드리겠습니다.
공감과 구독도 부탁드리고요.