반복하면 가장 강력한 프로그래밍 기법 중 하나입니다. 엑셀 VBA의 루프는 단 몇 코드 라인 셀 범위를 통해 반복 할 수 있습니다.

단일 루프

당신은 세포의 1 차원 범위를 통해 루프 하나의 루프를 사용할 수 있습니다.

워크 시트에 / VBA 만들-A-매크로 # 명령 버튼을 [명령 단추]`다음 코드 줄을 추가하십시오 ‘링크를 놓고

Dim i As Integer

For i = 1 To 6

Cells(i, 1).Value = 100

Next i

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

Single Loop in Excel VBA

설명 : 및 다음 사이의 코드 라인은 여섯 번 실행됩니다. 난 = 1 용 Excel VBA가 다음으로, 그것은 (1)와 나 증가하고 명령문 위로로 점프 도달하면, 엑셀 VBA는 행 1 및 열 1의 교차점에서 셀에 값 (100)에 들어간다. I = 2의 경우, 엑셀 VBA 등 2 행 및 열 1의 교차점에서 셀에 값 (100)을 입력

참고 : 항상 들여 쓰기 (탭) 좋은 연습과 다음의 경우 단어 사이의 코드입니다. 이 코드를 읽기가 쉬워집니다.

더블 루프

당신은 세포의 2 차원 범위를 통해 루프 더블 루프를 사용할 수 있습니다.

워크 시트에 / VBA 만들-A-매크로 # 명령 버튼을 [명령 단추]`다음 코드 줄을 추가하십시오 ‘링크를 놓고

Dim i As Integer, j As Integer

For i = 1 To 6

For j = 1 To 2

Cells(i, j).Value = 100

Next j

Next i

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

Double Loop in Excel VBA

설명 : i가 1, J = 1 = 들어 엑셀 VBA 엑셀 VBA은 다음 j에 도달 행 1 및 열 1의 교차점에서 셀에 값 (100)을 입력되면 1과 J를 증가 J 문에 대한 다시 점프 . J는 단지 1 엑셀 VBA는 다음의 난에 도달 (2)에 실행하기 때문에 1 및 J를 = 위해 = 2, 엑셀 VBA는 행 1 및 열 2 다음의 교차점에서 셀에 값 (100)을 입력 엑셀 VBA은 다음 j를 무시 그것은 1 내가이 증가하고 내가 문 들어 다시 점프. i가 2, J = 1 = 들어 엑셀 VBA

등은 2 행 및 열 1의 교차점에서 셀에 값 100에 진입 [트리플 루프] 3 중 루프

여러 Excel 워크 시트에 두 차원 범위를 통해 루프 트리플 루프를 사용할 수 있습니다.

워크 시트에 / VBA 만들-A-매크로 # 명령 버튼을 [명령 단추]`다음 코드 줄을 추가하십시오 ‘링크를 놓고

Dim c As Integer, i As Integer, j As Integer

For c = 1 To 3

For i = 1 To 6

For j = 1 To 2

Worksheets(c).Cells(i, j).Value = 100

Next j

Next i

Next c

설명 : 단 하나의 변화는 이중 루프의 코드에 비해 만든 우리가 한 번 더 루프 추가 워크 시트 (c)를 추가 한 것입니다. 세포의 앞에 C = 1의 첫 번째 시트상의 이차원 범위를 얻기 위해, C = 2의 제 2 시트 및 C = 3 다운로드 용 제 시트 엑셀 파일은이 결과를 확인한다.

않지만 루프

를 들어 다음 루프 외에, 엑셀 VBA 다른 루프가있다. 예를 들어, 마 루프 동안. 하지만 코드가 할 사이에 위치하고 사실이지만 루프는 할 일 이후 부분만큼 반복됩니다.

  1. 놓습니다명령 단추를다음 코드 줄을 추가

Dim i As Integer

i = 1

Do While i < 6

Cells(i, 1).Value = 20

i = i + 1

Loop

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

Do While Loop

설명 : i가 6보다 낮은만큼, 엑셀 VBA는 (다른 프로그래밍 언어와의) 1. Excel에서 VBA 의해 행 i 및 열 1, i를 증분의 교차점에서 셀에 기호 ‘=이 값 20 진입 “수단이된다. 그것은 동일한 의미하지 않는다. 난의 현재 값을 취하고 여기에 1을 추가 한 난 수단 + 난 = 그래서 내가 말하면 + 1이된다. I = 1의 경우, 예를 들어, 나는 결과 1 + 1 = 2가된다 (전 6 같을 때 엑셀 VBA 중지 때문에 6 개가 아님)의 값 (20)을 컬럼 (A) 내로 다섯 번 배치 될 것이다.

열 A에 몇 가지 숫자를 입력합니다

Any Number Of Rows

  1. 놓습니다명령 단추를다음 코드 줄을 추가

Dim i As Integer

i = 1

Do While Cells(i, 1).Value <> ""

Cells(i, 2).Value = Cells(i, 1).Value + 10

i = i + 1

Loop

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

Advanced Do While Loop

설명 : 긴 셀 (나는 1) .Value가 비어 있지 않은만큼, 엑셀 VBA는 행의 교차점에서 셀에 값을 입력 (<> 수단하지 같음) i와 값 10보다 높은 열 2, 셀 (7, 1) .Value이 비어 있기 때문에 7 같을 때, 행 i 및 열 교차점에서 셀 1 엑셀 VBA 중지. 이 워크 시트의 행의 수를 통해 루프 수있는 좋은 방법입니다.