스킬캠퍼스

오늘 끝나면

조건과 반복

  • 조건과 반복의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 조건과이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

If·For·Do While — 판단하고 반복 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

엑셀 VBA · 05

조건과
반복

If로 판단하고 For로 반복한다.
행을 훑으며 조건을 처리하면 1000행도 한 번에 끝난다.

P.01엑셀 VBA · 05

If…Then…Else로 판단한다

If는 조건에 따라 둘 중 하나를 고르는 갈림길이다.

모양은 단순하다. If 조건 Then 다음에 참이면 할 일을 적고 End If로 닫는다.
엇갈린 경우까지 처리하려면 사이에 Else를 끼운다.

조건은 비교다. >=, <=, =, <>(다름)로 두 값을 견준다.
여러 조건은 And, Or로 묶는다.
결과는 참(True) 아니면 거짓(False), 딱 둘뿐이다.

조건이 참이면 한쪽 · 거짓이면 다른 쪽
If…Then…Else, 갈림길
If 점수 >= 60 Then
    결과 = "합격"
Else
    결과 = "불합격"
End If
조건 점수 >= 60 ?
참(True)
합격
거짓(False)
불합격

결과는 둘 중 하나로만 갈린다

P.02엑셀 VBA · 05

For·Do While로 반복한다

같은 판단을 행이 1000개라고 1000번 적을 순 없다. 그래서 반복문을 쓴다.

횟수를 알 땐 For다. For i = 1 To 10부터 Next i까지 적으면 i가 1, 2, 3에서 10까지 자동으로 올라간다.
Step 2를 붙이면 2칸씩 오르고, Step -1이면 거꾸로 센다.

몇 번일지 모르고 “~인 동안” 돌릴 땐 Do While 조건 부터 Loop까지를 쓴다.
데이터 끝까지, 그러니까 빈 칸이 나올 때까지 훑는 데 자주 쓴다.
둘 다 같은 코드 한 덩이를 컴퓨터가 여러 번 반복해 실행한다.

같은 일을 몇 번이고 · 사람 대신
For vs Do While, 두 가지 반복
For…Next횟수를 알 때
For i = 1 To 5
    ' i = 1,2,3,4,5
Next i
12345
Do While…Loop조건이 참인 동안
Do While Cells(i,1) <> ""
    i = i + 1   ' 빈 칸 전까지
Loop

몇 번일지 모를 때, 데이터 끝까지

P.03엑셀 VBA · 05

행을 훑으며 조건을 처리한다

실무 자동화의 90%가 이 한 패턴이다. 반복으로 행을 훑고, 그 안에서 If로 골라낸다.

For i = 1 To 8이 행을 한 칸씩 내려가고, 각 행에서 If Cells(i,1) >= 기준이 참인 셀만 칠한다.
연산자와 기준값을 바꾸면 같은 루프가 다른 행을 골라낸다.

이게 합격자 표시, 미입력 찾기, 금액 합산 같은 일을 만드는 뼈대다.

For로 행을 돌고 · If로 골라낸다 (직접 실행)
미니 For 루프 · 행을 훑어 조건 처리
For i = 1 To 8
  If Cells(i,1) >= 70 Then 표시
  End If
Next i
If 조건, 비교 연산자
기준값, 70
A열 (Cells)i = –
A1
88
A2
42
A3
95
A4
60
A5
73
A6
30
A7
81
A8
55

For 루프가 1행부터 한 칸씩 내려가며 모든 행을 자동으로 훑는다. 손으로 8번 볼 일을 코드가 한 번에 처리한다.

P.04엑셀 VBA · 05

조건과 반복은 자동화의 핵심 도구

눈으로 보고 칠해도 되는데 코드로 적는 이유는 규모와 반복이다.

8행이면 손이 빠르다. 하지만 8000행이거나 매주 새 시트가 들어온다면 다르다.
ForIf를 한 번 적어두면, 행이 몇 개든 매크로 버튼 한 번에 끝난다.

반복은 지치지도 빠뜨리지도 않는다. 조건은 틀린 기준 없이 똑같이 판단한다.
앞 강의에서 배운 Dim(변수)과 Cells(셀 제어)에 이 둘을 얹으면, 비로소 “사람이 하던 반복 작업”을 코드가 대신한다.

손으로 8번 → 코드로 한 번
한 번 적은 규칙 · 반복은 컴퓨터가
손으로
한 행 직접 확인
한 행 직접 확인
한 행 직접 확인
한 행 직접 확인
한 행 직접 확인
한 행 직접 확인

8000행이면 불가능

For + If로
루프 한 번 적기
컴퓨터가 대신
컴퓨터가 대신
컴퓨터가 대신
컴퓨터가 대신
컴퓨터가 대신
컴퓨터가 대신

8000행도 버튼 한 번

P.05엑셀 VBA · 05

한 줄로 정리

오늘 둘만 챙기면 된다. If는 판단, For와 Do While은 반복이다.

판단이 필요하면 If…Then…Else…End If를 쓴다.
횟수를 알면 For…Next, 모르면 Do While…Loop다.

그리고 둘을 겹친 행을 훑으며 골라내는 패턴이 실무 자동화의 기본 뼈대다.

Q. 1000개 행을 똑같은 규칙으로 처리해야 한다. 무엇을 쓰나? (① 행마다 코드 1000줄 ② 반복문 한 번 ③ Else만으로 ④ 손으로 클릭)정답은 ② 반복문 한 번이다.
For i = 1 To 1000 안에 If 판단을 한 덩이 적으면, 행이 몇 개든 같은 코드가 자동으로 1000번 굴러간다.
코드를 1000줄 베껴 쓰거나 손으로 클릭하는 건 반복문이 막아주는 바로 그 노동이다.
If는 갈림길 · For는 바퀴
오늘의 도구
키워드하는 일
If…Then…Else판단참/거짓으로 갈림
For…Next반복(횟수 앎)i를 1→N 자동
Do While…Loop반복(조건)~인 동안 계속
For + If행 훑어 처리반복 속 판단

3줄 요약

  1. 1If·For·Do While — 판단하고 반복
  2. 2조건과 반복은 매크로 → 변수·셀 → 조건·반복 → 폼 → 자동화 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

조건과

If·For·Do While — 판단하고 반복

매크로

기록하거나 작성해 실행하는 자동화 코드

Sub

실행 단위가 되는 프로시저