VBA 프로그래밍에 해당하는 글 6

기초부터 실전까지 VBA 엑셀8 - 반복문 For

IT 관련 지식/VBA 공부|2019. 10. 23. 12:09
반응형
728x170

<VBA 엑셀8 - 반복문 For>

 

VBA에는 두 가지의 반복문이 있는데 이번에는 For Next 반복문에 대해 먼저 알아보겠습니다.

 

"반복문"이란 말 그대로 지정한 구문을 해당 횟수 만큼 반복한다는 의미입니다.

 

"변수 선언"과 "반복문"만 배워도 몇 가지 프로그램을 만들 수 있습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 


1. For Next 문 사용하기

 

기본적인 양식은 다음과 같습니다.

 

For counter = start To end [Step step]
  [statements]
  [Exit For]
  [statements]

  
Next [counter]

 

다음은 각 항목의 의미를 알려드리겠습니다.

counter(숫자) 반드시 지정합니다.
카운터에 사용할 변수(숫자)를 지정합니다.
배열 변수 및 부울 (Boolean)에 포함 된 변수는 지정할 수 없습니다.
start(숫자) 반드시 지정합니다.
counter 인자의 초기 값을 지정합니다.
end(숫자) 반드시 지정합니다.
counter 인자의 최종 값을 지정합니다.
step(숫자) 선택 사항입니다.
루프를 반복마다 인수 counter에 가산되는 값을 지정합니다.
step 매개 변수를 생략하면 루프를 반복마다 counter 인자는 1이 가산됩니다.
statements 선택 사항입니다.
루프에서 실행되는 일련의 명령문에서 For와 Next 사이에 기술합니다.
여기에 기술 한 루프는 For ... Next 문에서 지정한 횟수만큼 실행됩니다.

간단히 풀어서 해석하면

 

"statements = 구문"을 start(시작) ~ end(종료)만큼 반복한다.

 

이렇게 됩니다.

 


2. 예문

 

다음과 같이 코드를 VBA에 입력해보겠습니다.

 

Sub For1()
  Dim i
  For i = 1 To 10
    Cells(i, 1) = 1
  Next i
End Sub

 

위의 예문을 VBA로 실행하면

아래와 같이 적어진 것을 확인할 수 있습니다.

VBA For Next 반복문

즉, "A1" ~ "A10"까지 "1"이라는 숫자를 반복해서 1개씩 넣은 것이 됩니다.

300x250

3. Exit For 사용해보기

 

이번에는 For 반복문을 탈출할 수 있는 Exit For 이라는 구문을 사용해보겠습니다.

 

위에서 사용했던 코드의 중간에 Exit For를 넣어보겠습니다.

 

Sub For1()
    Dim i
    For i = 1 To 10
        Cells(i, 1) = 1
        Exit For 
    Next i
End Sub

 

위의 결과와 달리 "A1" 하나밖에 "1"이 들어있지 않습니다.

 

그 이유는 도중에 Exit For로 인해 반복문을 취소했기 때문입니다.

 

이렇게 Exit For와 나중에 배울 "조건문"을 배우면 여러가지 프로그램을 만들 수 있습니다.

 


4. Step 사용해보기

 

이번에는 For 반복문에서 "Step"이라는 것을 활용해 보겠습니다.

 

아래와 같이 예문을 입력합니다.

 

Sub For1()
    Dim i
    For i = 1 To 10 Step 2
        Cells(i, 1) = 1
    Next i
End Sub

 

그리고 이를 실행해보면 다음과 같은 결과가 나옵니다.

 

Step의 의미는 해당 숫자만큼 건너뛴다는 것을 의미합니다.

즉, 위에서 Step 2 라고 했으니

 

A1 -> A3 -> A5 -> A7 ->A 9

 

이렇게 해당 셀(Cell)에 숫자 "1"이 들어가게 됩니다.

 


5. For 반복문의 중첩

 

For은 중첩하여 몇번이든 사용할 수 있습니다.

 

다음과 같이 코딩을 해봅시다.

 

Sub For2()
    Dim i, j
    For i = 1 To 10
        For j = 1 To 10
            Cells(i, j) = 1
        Next j
    Next i
End Sub

 

그리고 실행을 해보면 아래와 같은 결과가 나옵니다.

 

 

이처럼 반복문에 반복문을 넣어서 여러가지 프로그램을 만들 수 도 있습니다.

 

하지만, 반복을 3번 이상하면 코딩을 이해하기 어렵게 되므로 2번까지만 추천합니다.

 


오늘 포스팅은 여기까지 입니다. 

 

다음에는 다른 반복문인 Loop에 대해 배워보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

반응형

댓글()

기초부터 실전까지 VBA 엑셀5 - 셀 지정법(Cells, Rows, Columns)

IT 관련 지식/VBA 공부|2019. 10. 22. 11:03
반응형
728x170

<VBA 엑셀5 - 셀 지정법(Cells, Rows, Columns)>

 

Range 이외의 셀을 지정하는 방법에 대해서 설명해 보겠습니다.

 

사실 Range는 실제 프로그래밍을 할 때 주로 사용되는 셀 지정법이 아닙니다.

 

아래 3개의 셀 지정법을 더 많이 사용합니다.

 


1. Cells (열 번호, 행 번호)

 

행 번호는 세로 행 위치에서 첫 번째 줄은 1, 열 번째 줄은 10을 의미합니다.
열 번호는 가로 열 위치에서 A 열은 1, J 열은 10을 의미합니다.

 

예를 들면

 

Cells (1, 1) 또는 Cells (1, "A") = "A1"


Cells (5, 3) 또는 Cells (5 "C") = "C5"

Range("A1")을 생각하면 행과 열을 반대로 표현되기 때문에 헷갈릴 수 있지만

 

처음 익힐 때부터 Range가 아니라 Cells로 프로그래밍을 하신다면 익숙해질거라 생각합니다.

 

왜 Range가 아니라 Cells을 더 많이 사용하는지는 다른 포스팅에서 알려드리겠습니다.

 


2. Rows (행 번호)

 

여기서 행은 "가로" 방향을 의미합니다.

 

예를 들어

 

Rows (5)
이제 5 번째 줄의 전체 라인이라는 의미입니다.

 

Rows ( "1 : 5")

이렇게 사용할 경우 1~5행을 전부 선택하는 것이 됩니다.

300x250

3. Columns (열 번호)

 

여기서 열은 "세로" 방향을 의미합니다.

 

엑셀에서 "열"은 "숫자"로도 "알파벳"으로도 표현할 수 있습니다.

 

예를 들어

 

Columns (3)
이제 3 번째, 즉 열 C의 전체입니다.
" (큰 따옴표)를 사용하지 않고 값을 그대로 씁니다.

 

Columns ( "C")
이와 같이 알파벳으로도 지정할 수 있습니다.

 

또한 Rows와 마찬가지로

 

Columns ( "A : C")

 

이렇게 할 경우 A~C열 전체를 선택할 수 있습니다.

 


 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

 

이번 포스팅은 여기까지 입니다.

 

감사합니다.

반응형

댓글()