[엑셀 VBA #5] FOR~NEXT 반복문 응용하기



지난번 엑셀 VBA 포스팅에선 DO~LOOP문을 이용한 반복문에 대해서 배웠습니다.

이번 포스팅은 비슷하지만 다른 FOR~NEXT 문을 이용한 반복문에 대해 배워보겠습니다.


DO~LOOP 반복문은 변수를 여러개 지정해서 다소 복잡한 반복문을 작성하기에 적합하고,

FOR~NEXT 반복문은 변수를 한개만 사용하는 반복문에 적합합니다.

보통의 경우엔, 두 반복문 모두 같은 상황에 사욜할 수 있습니다.


이번에도 예제를 통해 알아보겠습니다.

난이도가 어렵지 않은 만큼, 이번 포스팅은 비교적 짧습니다.



예제3파일과 함께 따라와주세요.

이전과 같이 시트 숨김을 해제하시면 과거 내용들도 확인하실 수 있습니다.






이번 예제는 숫자가 1부터 2배의 등비급수로 증가한다고 할 때 100번 증가했을때의 값을 구하는 엑셀 VBA입니다.


쉽게 말하면, 1, 2, 4, 8, 16, 32, 64, 128, 256 ....  이런 식으로 숫자가 증가한다고 했을 시, 100번째 숫자를 구하는 방법입니다.


FOR~NEXT 반복문은 아래와 같이 구성되어 있습니다.



FOR i = 1 to 100 Step 1



명령


NEXT i



예제를 바로 살펴보겠습니다.


Dim i As Byte

Dim a As Double            '숫자가 얼마나 커질지 모르니 DOUBLE을 선언합니다.


a = 1


FOR i = 1 To 100 Step 1            'step 뒤 숫자는 i 가 1씩 증가한다는 의미


a = a * 2


NEXT i


Sheet4.cells(3, 2).value = a            '지정 셀에 값을 출력

MsgBox "FOR~NEXT문을 이용한 결과값은" & a & "입니다."            '팝업창 생성



정말 간단합니다.


FOR과 NEXT 코드 사이에

반복될 명령을 넣어주면 됩니다.


DO~LOOP문과의 차이점을 알아보기 위해, DO~LOOP문으로 똑같은 값을 출력하는 코드를 작성해 보겠습니다.


Dim i As Byte

Dim a As Double


a = 1

i = 1


DO

a = a * 2

i = i + 1

LOOP WHILE i <= 100


Sheet4.cells(3, 3).value = a

MsgBox "DO~LOOP문을 이용한 결과값은 "& a & "입니다."








엑셀 VBA에 있어, 반복문의 응용법은 무궁무진합니다.


그만큼 사용도가 높고 꼭 이해를 하고 넘어가야 하는 코드입니다.


이후의 엑셀 VBA 포스팅은 기본적으로 반복문이 들어가게 되니 확실히 이해를 하고 넘어가세요.


다음 포스팅은 조건문에 대해 알아보도록 하겠습니다.






Posted by Simon K
: