반응형
흔히 반복문을 처리할 때 For 문을 이용하는데, 반복횟수가 아닌 특정조건을 만족할 때까지 작업하고 싶은 경우에는 Do While 을 사용합니다. 만약 조건을 잘못 입력해서 만족하는 경우의 수가 나오지 않는다면 무한루프에 빠지는 단점이 있습니다. Do While 문은 While 문 뒤의 조건이 True 일 동안에 반복하고 False 를 만나면 종료합니다.
◎ 1. Do While ~ Loop |
▼ 첫 번째 While 문이 앞에 오는 경우입니다. 조건문은 Do While 뒤에 옵니다. Do While 과 Loop 사이에 반복할 코드를 삽입합니다. 형태는 아래와 같습니다.
Do While 조건문
반복할 코드
Loop
▼ 샘플 함수의 소스는 Do While 반복문에서 i 가 10을 넘어가면 종료합니다. 반복 작업은 1 씩 증가한 i 변수값을 콘솔에 출력합니다.
Sub DoWhileLoop() Do While i < 10 i = i + 1 Debug.Print i Loop End Sub |
▼ 함수를 실행한 결과는 다음과 같습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 반복문을 이용해서 폼에 있는 전체 컨트롤 제어하기 ▶ 엑셀 VBA On Error GoTo 반복문에서 에러를 걸러내고 데이터를 구하기 ▶ 엑셀 VBA 무한 루프 빠져 나오거나 취소 기능 없애기 ▶ 엑셀 VBA 중복 데이터 재귀 호출과 반복문 사용해서 삭제하기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
◎ 2. Do ~ Loop While |
▼ 두 번째 형태는 조건문이 마지막에 옵니다. 그러니까 While 문과 조건문이 마지막 Loop 뒤에 위치합니다. 무조건 한번은 코드를 수행하는 구조로 조건문이 참인 동안 작업을 반복해서 진행합니다.
Do
반복 수행할 코드
Loop While 조건문
▼ 샘플 코드는 이전과 달리 조건문이 마지막에 추가가 되었습니다. 조건에 맞지 않더라도 무조건 반복은 한번 이상 수행됩니다.
Sub DoWhileLoop() Do i = i + 1 Debug.Print i Loop While i < 10 End Sub |
▼ 함수를 실행한 결과는 다음과 같습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 반복문을 이용해서 폼에 있는 전체 컨트롤 제어하기 ▶ 엑셀 VBA On Error GoTo 반복문에서 에러를 걸러내고 데이터를 구하기 ▶ 엑셀 VBA 무한 루프 빠져 나오거나 취소 기능 없애기 ▶ 엑셀 VBA 중복 데이터 재귀 호출과 반복문 사용해서 삭제하기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 년도, 월 비교해서 발생 횟수 조회하는 방법 (1) | 2023.08.09 |
---|---|
엑셀 VBA 이미지 셀 크기에 자동으로 삽입하는 매크로 만들기 (6) | 2023.08.08 |
엑셀 VBA 시트 테두리 선 그리는 방법 (0) | 2023.08.07 |
엑셀 VBA 정규표현식 사용하는 방법, 공백 문자 제거하기 (0) | 2023.07.20 |
엑셀 VBA 영역에서 빈 셀, 행 열 삭제하기 (1) | 2023.07.18 |
엑셀 VBA 메시지박스 (MsgBox) 에 문자열 줄 바꿈을 적용하는 방법 (0) | 2023.07.09 |
엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 (0) | 2023.07.09 |
엑셀 VBA 개발할 때 로그 출력하는 방법 (0) | 2023.07.08 |