오늘 끝나면
실전 자동화
- ✓실전 자동화의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 실전이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
보고서를 버튼 한 번에 자동 생성 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
엑셀 VBA · 08
실전
자동화
지금까지 배운 걸 다 합칠 차례다.
여러 시트에 흩어진 데이터를 모아 보고서 한 장으로 만든다.
버튼 하나만 누르면 된다.
매주 똑같은 손작업이 문제다
현장에서 자동화가 절실한 순간은 늘 똑같다. 매번 손으로 하는 똑같은 절차다.
시트가 월 화 수로 나뉘어 들어온다.
매주 이걸 새 시트에 복사하고, 정렬하고, 합계를 낸다.
한 번에 30분. 한 달이면 두 시간을 똑같은 일에 쓴다.
사람이 하면 줄이 밀리고 합계를 빼먹는다.
반복 절차를 한 번 코드로 적어두면 그 다음부터는 버튼이 한다.
이게 실전 자동화의 출발점이다.
매주 30분 · 줄 밀림 · 합계 빠짐
배운 걸 다 쓴다, 범위·반복·조건
보고서 매크로 한 덩어리 안에 지금까지 배운 게 전부 들어간다. 새 문법은 없다.
For Each ws In Worksheets로 시트를 하나씩 돌고
Cells(r, c)로 각 칸을 읽는다.
If amt >= 100 Then로 큰 건만 골라낸다.
모은 값은 Function으로 합계를 내고
Dim으로 잡은 변수에 차곡차곡 쌓는다.
따로 외울 게 아니라, 배운 조각을 순서대로 끼우면 보고서가 나온다.
| 코드 | 하는 일 |
|---|---|
| Dim ~ As4강 | 변수 잡기값 담을 그릇 |
| Cells(r, c)3강 | 범위 읽기칸 하나씩 |
| If amt >= 1005강 | 조건 거르기큰 건만 |
| For Each ws6강 | 반복 돌기시트마다 |
| Function total2강 | 함수 합계값 돌려줌 |
데이터를 모으고 정리하는 흐름
자동화의 속은 단순한 네 단계다. 시트마다 읽고, 조건으로 거르고, 한 곳에 쌓고, 합계를 낸다.
시트를 도는 바깥 반복이 하나,
그 안에서 행을 도는 안쪽 반복이 하나다. 이걸 중첩 반복이라 한다.
행마다 If로 거를지 말지 정하고, 통과한 값만 보고서 행에 적는다.
그래서 시트가 3개든 30개든 코드는 그대로다.
Worksheets.Count가 알아서 늘어난 만큼 더 돈다.
데이터가 불어나도 손은 안 늘어난다.
시트가 3개든 30개든 코드는 그대로
버튼 하나로 보고서 한 장
월·화·수 시트의 원시 데이터가 흩어져 있다. [보고서 생성] 한 번이면 합쳐진 표가 나온다.
기준 금액 슬라이더를 올리면 그만큼 큰 건만 잡힌다. 이게 코드 속 If amt >= 기준이다.
데이터를 바꾸고 다시 눌러도 절차는 똑같이 돈다.
한 번 짠 매크로는 다음 주에도, 다음 달에도 그대로 쓴다.
파일만 바뀔 뿐, 사람이 다시 손댈 일은 없다.
이 금액 이상인 건만 보고서에 들어간다. 슬라이더가 곧 코드 속 조건이다.
버튼을 누르면 매크로가 시트를 하나씩 돌며 조건에 맞는 행만 모아 표를 만든다.
한 번 짜면 평생 굴린다
자동화의 진짜 보상은 시간이다. 만드는 데 한 번 두 시간을 써도, 그 뒤로 매주 30분을 돌려받는다.
버튼은 지치지 않고, 줄을 밀지 않고, 합계를 빼먹지 않는다.
사람이 실수할 자리를 코드가 통째로 없앤다.
여기까지가 이 코스의 끝이다. Dim · Range · If · For · Sub/Function · 이벤트를 다 합쳐 버튼 하나짜리 도구를 만들었다.
이제 본인 업무의 “매주 똑같은 30분”을 찾아 똑같이 적어두면 된다.
Q. 실전 자동화의 핵심을 한 줄로? (매크로를 길게 짜기 · 반복 절차를 한 번 코드로 적어 버튼 하나로 · 시트를 많이 만들기 · eval 쓰기)
정답은 반복 절차를 한 번 코드로 적어 버튼 하나로다.매주 손으로 하던 똑같은 절차를 코드로 한 번 적으면, 그 뒤론 클릭 한 번이 다 한다.
길이가 중요한 게 아니라 “반복을 한 번 적어 자동으로 굴리는 것”이 핵심이다.
≈ 2시간 / 월
≈ 4초 / 월
만드는 시간은 한 번 · 돌려받는 시간은 매주