728x90
반응형
🔃 While문 구조
Do While [조건] [연산자] [조건]
[명령어]
Loop
Do
[명령어]
Loop While [조건] [연산자] [조건]
조건을 설정해서 조건에 맞게 반복하는 반복문입니다
근데 2가지 구조를 가집니다
예제를 통해서 알아보겠습니다
🔃 Do While Loop
Private Sub CommandButton1_Click()
Dim i As Integer
i = 1
Do While i <= 10
Debug.Print i
i = i + 1
Loop
End Sub
🔃 Do Loop While
Private Sub CommandButton1_Click()
Dim i As Integer
i = 1
Do
Debug.Print i
i = i + 1
Loop While i <= 10
End Sub
결과는 똑같습니다
🔃 설명
결과는 똑같은데 첫 실행이 다릅니다
"Do While"일 경우
조건을 확인한 후 명령어를 실행합니다
"Loop While"일 경우
명령어를 한번 실행하고 난 후 조건을 확인합니다
예를 들어 에러를 체크하는 반복문일 때
"Do While"로 에러를 확인하고 에러일 경우 반복문 실행 자체를 하지 않지만
"Loop While"은 에러 확인전에 에러가 발생해버리니깐
이런 경우를 확인하고 사용하시면 됩니다
🔃 While문 빠져나오기 (Exit Do)
Private Sub CommandButton1_Click()
Dim i As Integer
i = 1
Do While i <= 10
Debug.Print i
i = i + 1
Exit Do
Loop
End Sub
Exit Do를 사용해서 반복문을 빠져나올 수 있습니다
⛔ 반복문 사용 시 주의점 ⛔
만약 Exit For나 Exit Do처럼 반복문을 중단하는 명령어가 없는 경우
무한 반복에 빠질 수 있습니다
그럴 경우 ESC나 Ctrl + Pause Break로 멈출 수도 있지만 만약에 이걸로도 멈추지 않는다면
어쩔 수 없이 강제 종료해야 합니다
Ctrl + Alt + Del -> 엑셀 강제 종료
저장이 안 되어있으면.... 큰일 납니다
반복문은 실행하기 전 꼭 조건을 확인하시고 실행해 주세요
728x90
반응형
'목표는!!퇴근!! (엑셀VBA)' 카테고리의 다른 글
(VBA) Range 셀 지정하는 방법 - Range() (0) | 2023.08.12 |
---|---|
(VBA) 반복문 중 "Until" 알아보기 - Do, Until, Loop (0) | 2023.08.09 |
(VBA) 반복문 중 "For Each" 알아보기 - For Each, Next (0) | 2023.08.08 |
(VBA) 반복문 중 "For" 알아보기 - For, Next (0) | 2023.08.08 |
(VBA) 조건문 중 "Switch" 알아보기 - Switch() (0) | 2023.08.06 |