Appia의 IT세상

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 02(while-wend loop, do-while loop) 본문

Programming/VisualBasic_VBA

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 02(while-wend loop, do-while loop)

Appia 2020. 12. 4. 07:09
반응형

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 02

(while-wend loop, do-while loop, do-until loop)

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 02(while-wend loop, do-while loop, do-until loop)

이전 포스팅에서는 for문을 활용한 반복문에 대해서 집중적으로 살펴봤습니다. for문에서는 주로, 특정 범위 및 특정 범위을 기반으로 한 횟수를 통한 반복문이었습니다. 그럼 이번에는 조건을 토대로 한 반복문 즉, while과 관련된 반복문에 대해서 이야기를 해볼까 합니다. 

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 01(for-loop, for-each loop)

 

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 01(for-loop, for-each loop)

비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 01(for-loop, for-each loop) 앞선 포스팅에서는 조건문 즉, 특정 조건에 맞춰서 동작할 수 있게 하는 분기문에 대해서 이야기를 해봤습니다. 이번 포스팅

appia.tistory.com

 

while과 관련해서 조건을 바탕으로 하는 반복문은 다음과 같이 3가지로 살펴볼 수 있습니다. 

 

1. While .. Wend 반복문

While .. Wend 반복문의 경우, 조건이 참일 때 계속 반복하는 것입니다. 

 

2. Do .. While 반복문

Do .. While문은 조건이 참일 때 계속 반복 하는 반복문입니다. 단, 처음 1번은 실행하고 나서 그 조건을 검토합니다. 

 

3. Do .. Until 반복문

Do .. Until 문은 조건이 거짓일 때 계속 반복 하는 반복문입니다. 단, 처음 1번은 실행하고 나서 그 조건을 검토합니다. 

 

이와 같은 형태의 부분에 대해서 좀 더 상세하게 살펴보겠습니다. 

 

1.  While .. Wend 반복문

그럼 먼저 While .. Wend 반복문에 대해서 살펴보겠습니다. 문법을 보면 다음과 같이 살펴볼 수 있습니다. 

While condition(s)

   [statements 1]

   ...

   [statements n]

Wend

그럼 위의 부분을 바탕으로 예시로 적용해보도록 하겠습니다. 

1
2
3
4
5
6
7
8
9
Private Sub While_Wend_Example()
   Dim Counter As Integer
   Counter = 12
      
   While Counter < 15 ' 조건 명시
      Counter = Counter + 1 ' 반복시 값 증가
      MsgBox ("카운터의 현재값 : " & Counter) ' 현재값 출력
   Wend
End Sub
cs

위의 코드를 실행하면 다음과 같은 결과가 나타납니다. 

  While .. Wend 반복문

15번까지 표시되고 더이상 반복하지 않을 것입니다. 

 

2. Do .. While 반복문

Do .. While문의 문법을 크게 2가지 형태로 볼 수 있습니다. 각각을 살펴보겠습니다. 

문법1)

Do While condition

   [statement 1]

   [statement 2]

   ...

   [statement n]

Loop   

문법2)

Do 

   [statement 1]

   [statement 2]

   ...

   [statement n]

Loop While condition

그럼 위의 부분을 바탕으로 예시로 적용해보도록 하겠습니다. 

문법1의 예시)

1
2
3
4
5
6
7
8
9
10
Private Sub DOWhile_Example1()
   Dim Counter As Integer
   Counter = 12
      
   Do While Counter < 15 ' 조건 명시
      Counter = Counter + 1 ' 반복시 값 증가
      MsgBox ("카운터의 현재값 : " & Counter) ' 현재값 출력
      
   Loop
End Sub
cs

문법2의 예시)

1
2
3
4
5
6
7
8
9
10
Private Sub DOWhile_Example2()
   Dim Counter As Integer
   Counter = 12
      
   Do
      Counter = Counter + 1 ' 반복시 값 증가
      MsgBox ("카운터의 현재값 : " & Counter) ' 현재값 출력
 
   Loop While Counter < 15 ' 조건 명시
End Sub
cs

 

위의 코드를 실행하면 앞서 부분과 동일한 결과가 다음과 같이 나타납니다. 

 

 Do .. While  반복문 반복문

15번까지 표시되고 더이상 반복하지 않을 것입니다. 

 

 

3. Do .. Until 반복문

Do .. Until 반복문의 문법을 크게 2가지 형태로 볼 수 있습니다. 각각을 살펴보겠습니다.

문법1)

Do Until condition

   [statement 1]

   [statement 2]

   ...

   [statement n]

Loop   

문법2)

Do 

   [statement 1]

   [statement 2]

   ...

   [statement n]

Loop Until condition

그럼 위의 부분을 바탕으로 예시로 적용해보도록 하겠습니다. 

문법예시1)

1
2
3
4
5
6
7
8
9
10
Private Sub DoUntil_Example1()
   Dim Counter As Integer
   Counter = 12
      
   Do Until Counter > 15  ' 조건 명시
      Counter = Counter + 1 ' 반복시 값 증가
      MsgBox ("카운터의 현재값 : " & Counter) ' 현재값 출력
 
   Loop
End Sub
cs

문법예시2)

1
2
3
4
5
6
7
8
9
10
Private Sub DoUntil_Example2()
   Dim Counter As Integer
   Counter = 12
      
   Do
      Counter = Counter + 1 ' 반복시 값 증가
      MsgBox ("카운터의 현재값 : " & Counter) ' 현재값 출력
 
   Loop Until Counter > 15  ' 조건 명시
End Sub
cs

 

위의 코드를 실행하면 다음과 같은 결과가 나올 것입니다. 단, 13, 14, 15, 16번까지 표시되고 종료 될 것입니다. 

3. Do .. Until 반복문

이와 같이 16번까지 명시가 되고 확인 버튼을 클릭하면 더이상 반복이 되지 않습니다. 

 

이번 포스팅은 비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 02(while-wend loop, do-while loop, do-until loop)라는 주제로 간단히 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments