(VBA) 반복문 중 "While" 알아보기 - Do, While, Loop
본문 바로가기
목표는!!퇴근!! (엑셀VBA)

(VBA) 반복문 중 "While" 알아보기 - Do, While, Loop

by 종닭이 2023. 8. 8.
728x90
반응형

(VBA) 반복문 중 "While" 알아보기 - Do, While, Loop

🔃 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 While Loop

🔃 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 Loop While

결과는 똑같습니다

 

🔃 설명

결과는 똑같은데 첫 실행이 다릅니다

 

"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 Do를 사용해서 반복문을 빠져나올 수 있습니다

 

 

 

⛔ 반복문 사용 시 주의점 ⛔

만약 Exit For나 Exit Do처럼 반복문을 중단하는 명령어가 없는 경우
무한 반복에 빠질 수 있습니다
그럴 경우 ESC나 Ctrl + Pause Break로 멈출 수도 있지만 만약에 이걸로도 멈추지 않는다면
어쩔 수 없이 강제 종료해야 합니다
Ctrl + Alt + Del -> 엑셀 강제 종료
저장이 안 되어있으면.... 큰일 납니다
반복문은 실행하기 전 꼭 조건을 확인하시고 실행해 주세요
728x90
반응형