본문 바로가기
엑셀/VBA

[엑셀]VBA입문(3)-반복문

by 이지블로그 2020. 9. 8.

이전글

[엑셀]VBA입문(0)-VBA란?

[엑셀]VBA입문(1)-VBA실행법

[엑셀]VBA입문(2)-변수

 


오늘은 반복문에 대해 알아봅시다

반복문의 종류는

for , for each , do while, do until 등이 있습니다.

그중 저희가 오늘 알아볼 건 for, for each입니다.

 

먼저 for문의 구조는 아래와 같습니다.

For 변수 = 시작수 To 마지막수
     반복할 내용
Next

 

for문이 시작할 때 변수는 시작수를 가지고 내용을 실행한 뒤 next에서 변수가 기본적으로 1이 증가하고

다시 for문의 시작으로 가 반복하며 변수가 마지막수가 될 때까지 반복하게 됩니다.

 

그럼 바로 직접 해보겠습니다. 바로 for문 하나를 작성하겠습니다.

 

Sub test()

     Dim i As Long

     For i = 1 To 10

          Cells(i, 1) = i

     Next

End Sub

 

변수를 배울때 한번 작성했던 것입니다.

 

변수 i가 1부터 10까지 증가하며

내용을 반복하니 i가 1일 때 A1셀에  1이 나타나고 2일 때 A2에 2... A10에 10이 나타나게 됩니다.

 

for문을 배울 때 가장 많이 하는 것이 구구단을 만드는 것인데

for문 안에 for문을 넣어서 사용할 수도 있는데 이를 이용하여 구구단을 만들 수 있습니다.

이건 코드를 알려드리지 않을 테니 한번 직접 해보시길 바랍니다.


다음으로 for each입니다.

 

for문은 숫자를 통해 반복 횟수를 지정하지만,

For Each문은 셀 영역이나 여러 워크시트, 여러 통합 문서처럼 

개체들의 집합(컬렉션)을 대상으로 하나의 개체에 대한 작업을 반복합니다.

그래서 for each의 변수는 숫자가 아니라 개체사용해야 합니다.

 

for each의 구조는 아래와 같습니다.

For Each 변수 이름 In 컬렉션
      반복할 내용
Next

그럼 한번 코드를 작성해보죠.

Sub test()
    Dim Ws As Worksheet
    Dim i As Long
    i = 1
    For Each Ws In Worksheets
        Cells(i, 1) = Ws.Name
        i = i + 1
    Next Ws
End Sub

자 위에 코드를 분석해 보겠습니다.

먼저 변수로 워크시트를 선택했습니다.

그리고 각 시트의 이름이 Ai셀에 값으로 나타나는 것을 반복하게 했습니다.

그럼 한번 실행해 볼까요

 

 

내 잘되었습니다.

 

그럼 오늘은 for과 for each에 대해 배웠습니다.

이 글은 VBA입문으로 기초만 알려주고 응용법은 가르쳐주지 않으니

배운것들을 직접해보고 여러 방법으로 활용해보며 실력을 기르시길 바랍니다.

그럼 다음에는 do while, do until에 대해 알아보기로 하고 그럼 이만

 

 

 

 

다음글

[엑셀]VBA입문(4)-반복문2

 

[엑셀]VBA입문(4)-반복문2

이전 글 [엑셀]VBA입문(0)-VBA란? [엑셀]VBA입문(1)-VBA실행법 [엑셀]VBA입문(2)-변수 [엑셀]VBA입문(3)-반복문 오늘은 저번 시간에 이어 반복문 do에 대해 알아봅시다. 먼저 do에는 Do While Loop Do Until Loop..

ezblog.tistory.com

 

반응형