기초부터 실전까지 VBA 엑셀9 - 반복문 Do ~ Loop

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

<VBA 엑셀9 - 반복문 Do ~ Loop>

 

이번에는 또 다른 반복문인 Loop에 대해 알아보겠습니다.

 

For 반복문과 Do 반복문의 차이점을 설명하자면

 

For 반복문 : 지정 횟수만큼 반복한다.

 

Do 반복문 : 주어진 조건만큼 반복한다.

 

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

 


1. Do 반복문의 기본 형태

 

Do [{While | Until} condition]
  [statements]
  [Exit Do]
  [statements]

Loop

 

각 구문의 뜻을 설명하면 아래와 같습니다.

 

condition 선택 사항입니다.
참 (True) 또는 거짓 (False)을 평가하는 수식 또는 문자열 식을 지정합니다.
인수 condition 값이 Null 인 경우, 인수 condition은 거짓 (False)로 간주됩니다.
statements 인수 condition이 참 (True) 인 동안 또는 인수 condition이 참 (True)로 될 때까지 반복 실행되는
여러 행의 문을 작성합니다.

 

condition에서 사용할 수 있는 조건의 경우 아래와 같습니다.

 

비교 연산자 의미
= 같음
<> 같지 않음
> 초과
> = 이상
< 미만
<= 이하
논리 연산자 의미
And 논리적
Or 논리합

 

다음 예문을 통해 좀 더 상세히 알아보겠습니다.

 

참고로 기초 레벨의 코딩의 경우 코드를 올리지 않겠습니다.

 

왜냐하면 직접 코딩을 하면서 익히는게 더 빨리 외워지고 프로그래밍을 하는 맛이 있거든요 ㅎㅎ


2. Do 조건문의 예시

 

Sub Loop1()
    Dim i
    i = 1
    Do While i <= 10
        Cells(i, 1) = 1
        i = i + 1
    Loop
End Sub

 

위의 VBA 코딩을 실행시켜보면 아래와 같은 결과가 나옵니다.

위에서 While의 의미를 설명하자면

 

300x250

 

<"i"가 10이하일 "동안" 계속 반복해라> 라는 의미입니다.

 

결과는 같지만 조금 다른 예를 한번 더 보겠습니다.


Sub Loop2()

    Dim i
    i = 1
    Do Until i > 10
        Cells(i, 1) = 1
        i = i + 1
    Loop
End Sub

 

이를 실행해보면 위와 똑같은 결과가 나오게 됩니다.

 

여기서 Until의 뜻은

 

<"i"가 10을 넘을 때"까지" 계속해라>라는 의미입니다.

 

뭔가 차이점이 느껴지시나요? ㅎㅎ

 

사실 직접 VBA 프로그래밍을 할 여러분들은 While이나 Until 중 하나만 중점적으로 사용해도 무방합니다.

 


3. Exti Do

 

마지막으로 Loop 반복문을 탈출하는 코딩에 대해 알아보고 마치겠습니다.

 

For 반복문과 마찬가지로 Loop 반복문 또한 탈출하는 코딩이 있습니다.

 

이번 에는 아래와 같이 VBA 코딩을 해봅니다.

 

Sub Loop3()

    Dim i
    i = 1
    Do Until i > 10
        Cells(i, 1) = 1
        i = i + 1

        Exit Do
    Loop
End Sub

 

이를 실행하면 그 결과는 아래와 같이 됩니다.

 

한번만 실행하고 Do ~ 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!

 

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

 

감사합니다.

반응형

댓글()

기초부터 실전까지 VBA 엑셀2 - 모듈 생성과 설정

IT 관련 지식/VBA 공부|2019. 10. 19. 19:32
반응형
728x170

<VBA 엑셀2 - 모듈 생성과 설정>

 

VBA 엑셀을 실제로 프로그래밍 할 수 있는 프로젝트(?)를 만들고 그에 걸맞는 설정을 해보겠습니다.

 

 

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

 

 

1. "개발도구"탭에서 "Visual Basic"으로 들어갑니다.

 

VBA 엑셀 모듈 생성

 


2. 모듈(Module)을 생성

- 프로젝트 창에서 우클릭 → 삽입 → 모듈

- Sheet1 : 현재 엑셀 북(Book)에 있는 시트를 의미한다

- 통합 문서 : 이 부분은 나중에 설명하겠습니다.

 


3. 모듈 이름 변경하기

- 프로젝트 창 밑의 "속성"창 확인

- 이름 부분을 변경시 모듈(Module)의 이름 변경 가능

 


4. 모듈 삭제하기

- 모듈을 우클릭 → 파일 내보내기 : 모듈의 모든 정보를 텍스트 파일로 저장가능

- Module1 제거 : 모듈 삭제 가능

 

 

 


5. VBA 프로그래밍을 하기 전 설정 확인

-  VBA 화면에서 위의 "도구"탭 클릭 → "옵션" → "편집기" 탭 → "자동 구문 검사" 체크 해제

 

 

여기 까지 하셨으면 VBA를 하기 위한 준비는 끝났습니다.

 

반응형

댓글()