[VBA 제 16강] 실행순서제어하기Ⅱ 썸네일 이미지
[VBA 제 16강] 실행순서제어하기Ⅱ
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,370
즐겨찾기
[VBA 제 16강] 실행순서제어하기Ⅱ를 즐겨찾기 한 횟수는 1 1입니다.
이용등급 유료 (회원권 or 단품 구매)
평생이용

엑셀쿠키는 한 번의 다운로드로 평생 이용하실 수 있습니다. 프로그램과 데이터를 고객의 PC에 저장하여 사용하는 형식이라 안전하게 사용 가능합니다. 이용 기간에 따른 추가 비용이 발생하지 않아 매우 경제적입니다.

맞춤형

중소기업의 개별 특성, 다양한 업무를 상황별로 고려하여 제작된 프로그램을 업데이트합니다. 분야별 5,000여 개의 프로그램 중 내 업무에 맞는 프로그램을 다운받는 맞춤형 서비스입니다.

쉬운 활용

쿠키 프로그램은 MS Excel의 기본 사용법만 알면 즉시 사용할 수 있는 매운 쉬운 프로그램으로 누구나 손쉽게 배우고 사용할 수 있습니다.

중소기업의 모든 업무자동화!

엑셀쿠키로 모두 해결하세요!
1 Vector 11
image 59
image 60
image 56
Pro display XLS Vector 12
Microsoft Excel 표준

쿠키의 업무자동화 프로그램은 VBA 코드로 개발된 제품으로
MS Excel 프로그램 기반으로 사용 가능하며,
자체적으로 개발한 기능은 물론,
MS Excel의 강력한 기능을 모두 사용하실 수 있습니다.

241202_coukey_BI_white2_07

엑셀쿠키는 기업의 생산성을 높이는 업무자동화 지원 프로그램입니다.

image 62 image 70 image 61 image 71 image 65 image 66 image 64 image 68
image 63 image 69
제품 상세정보

 




[ 기초 강좌 ]

 

제 16강

실행순서제어하기Ⅱ

 

실행제어구문에 대해 알아봅니다.

이럴 때 필요해요

엑셀에 내장된 VBA엔진을 이용하여 더 다양한 프로그램을 구축하기위해 사용합니다.

이렇게 사용해요

오늘은 지난 시간에 소개해 드린 실행순서 제어구문 중에서 GoTo, If ~ Then, Select Case文 등에 이어 

나머지 3가지의 제어문에 대해 소개해 드릴까 합니다.

 

For ~ Next 와 Do While 또는 Do Until 이 세가지를 특별히 Loop block Instruction 이라고 하기도 합니다.

특정한 조건을 만족하면 계속해서 프로그램을 실행하기 때문에 붙여 진 이름이지요.

 

For ~ Next 文

Loop block 을 만드는 가장 간단한 방법이 For ~ Next 구문입니다. 

몇 강좌 전에 소개해 드렸었던 For Each ~ Next 문도 바로, 이 For ~ Next 의 한 형태입니다.

이  For ~ Next 문은 앞에서도 몇 차례 등장했었으므로 그리 낯설지는 않을 것입니다만, 한번 더 

간단히 짚고 넘어 가도록 하겠습니다.

 

For counter= 시작 To 끝 [Step 값]

      … 어쩌고 … 

Next [counter]

 

위에서 예시한 것이 For ~ Next 문의 가장 일반적인 형태라고 할 수 있습니다.

 

[VBA 제 16강] 실행순서제어하기Ⅱ

[VBA 제 16강] 실행순서제어하기Ⅱ
[VBA 제 16강] 실행순서제어하기Ⅱ
 

 

 

저 식을 실행시키면 이연걸부터 성룡까지 텍스트박스로 나타납니다.

 

 

이제 이 For ~ Next 문에 대해서는 어느 정도 이해되시리라 생각됩니다만, 그런데 만약에 For ~ Next 문을사용하지 않고, 

동일한 결과를 구하려면 어떻게 해야 할까요? ^^

아마, 아래와 같이 무식한(?) 코딩을 해 주셔야 할 것입니다.

 

MsgBox Cells(35, 2)

MsgBox Cells(36, 2)

.

.

MsgBox Cells(41, 2)

 

자! 어떻습니까? 이제 응용력만 약간 발휘하면, 얼마든지 재미있는 것을 만들수 있을 것 같지 않습니까?

많이들 응용하시기 바라며, 다음으로 넘어 갑니다! ^^

 

Do ~ While 文

 

Loop block을 만드는 또한가지 방법은 Do ~ While 문을 사용하는 것입니다. 

이것은 특정한 조건을 만족하는 동안에는 계속해서 특정 명령을 수행하는 것으로, Do ~ While문은 

아래의 두가지 형태를 가집니다.

 

Do [While 조건]                               Do

      … 어쩌고 …                                … 어쩌고 …    

      Exit Do                                          Exit Do

      … 어쩌고 저쩌고 …                      … 어쩌고 저쩌고 … 

            Loop                                   Loop [While 조건]

 

위 두가지 형태의 차이점은, 다음의 예제를 보시면 명확해 집니다.

 

Sub DoWhileDemo1()

     Sheets(2).Activate

     Range("C4").Activate

    Do While Not IsEmpty(ActiveCell)

        ActiveCell.Value= 0

        ActiveCell.Offset(1, 0).Select

    Loop

End Sub

 

이 프로시저는 현재 셀 포인터가 위치해 있는 셀(여기서는 Sheets2의 C4 셀)을 시작으로 해서 아래로 한칸씩 

내려가면서 0(zero)을 셀에 삽입합니다. 

그리고 루프문을 한 바퀴씩 돌 때 마다 그 다음의 셀을 ActiveCell로 설정을 해 주고 있습니다. 

따라서, 이 프로시저는 경우에 따라 Do ~ Loop 내의 실행문을 한번도 실행하지 않을 수도 있겠지요? 

즉, 맨 처음 셀부터 아무 값도 입력된 것이 없다면, 아예 한번도 실행되지가 않을수 있습니다.

왜냐구요? Do문 안으로 들어가기 전에 미리 조건 비교를 해서 ActiveCell이 공란이면 Do ~ Loop 안으로 

들여 보내지를 않기 때문이지요.  그런데, 아래의 경우에는 어떤가요? 

 

Sub DoWhileDemo2()

     Sheets(2).Activate

     Range("C4").Activate

    Do

        ActiveCell.Value= 0

        ActiveCell.Offset(1, 0).Select

    Loop While Not IsEmpty(ActiveCell)

End Sub

 

이번에는 While이 Loop 다음에 있습니다. 이 경우에는 Do ~ Loop 사이에 있는 실행문을 적어도 한번은 실행을 하게 되지요.

 

결국, 이 두가지 형식의 차이점은 어느 시점에서 Loop문을 종료하느냐 의 차이인 것입니다. 그렇지만

실제 결과를 놓고 보면 같게 되지요.(적어도 위의 경우에는…)

 

Do ~ Until 文

 

Do ~ Until 루프문은 Do ~ While 문과 매우 흡사합니다. 

차이점은 Do While 문은 조건식이 True인 동안에는 명령을 계속 수행하는데 비해, Do Until 문은 조건식이 

True가 될 때까지 명령을 수행합니다.

 

Do [Until 조건]                                    Do

      … 어쩌고 …                                   … 어쩌고 …

      Exit Do                                             Exit Do

      … 어쩌고 저쩌고 …                            … 어쩌고 저쩌고 … 

 Loop                                                    Loop[Until조건]

 

While이 Until로 바뀌었다는 것 말고는 Do ~ While 구문과 똑같은 형태지요?

사용예제 역시 마찬가지입니다. While을 Until로 바꿔 줄려면 True와 False만 서로 바꿔 주면 되겠지요?

즉, 아래와 같이 말입니다.

 

[VBA 제 16강] 실행순서제어하기Ⅱ
 

 

실행순서를 제어하는 구문은 실제 프로그래밍 작업시 빈번하게 사용되는 것들입니다. 

모두 다섯 가지 밖에(?) 안되므로 잘 정리해 두시기 바랍니다.

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 16강] 실행순서제어하기Ⅱ
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중