Excel 2016 VBA에서 For-Next 루프를 사용하는 방법

Excel 2016 VBA에서 For-Next 루프를 사용하는 방법

Excel VBA 프로그래밍에서 가장 간단한 유형의 루프는 For-Next 루프입니다. 루핑은 한 값에서 시작하여 다른 값에서 중지하는 카운터 변수에 의해 제어됩니다. For 문과 Next 문 사이의 문은 루프에서 반복되는 문입니다.

다음 예

다음 예제에서는 For-Next 루프를 사용하여 처음 1,000개의 양수를 합산합니다. Total 변수는 0으로 시작합니다. 그런 다음 루핑이 발생합니다. 변수 Cnt는 루프 카운터입니다. 1부터 시작하여 루프를 통과할 때마다 1씩 증가합니다. 루프는 Cnt가 1,000일 때 종료됩니다.

이 예제에는 루프 내부에 단 하나의 명령문이 있습니다. 이 명령문은 Cnt 값을 Total 변수에 추가합니다. 루프가 완료되면 MsgBox에 숫자의 합계가 표시됩니다.

하위 AddNumbers()
  두 배의 희미한 합계
  길이만큼 희미한 Cnt
  총계 = 0
  Cnt = 1 ~ 1000의 경우
    총계 = 총계 + Cnt
  다음 Cnt
  메시지 상자 합계
엔드 서브

루프 카운터는 일반 변수이므로 For 및 Next 문 사이의 코드 블록 내에서 값을 변경하는 코드를 작성할 수 있습니다. 그러나 이것은 매우 나쁜 습관입니다.

단계가 있는 다음 예

단계 값을 사용하여 For-Next 루프에서 일부 카운터 값을 건너뛸 수 있습니다. 다음은 1에서 1,000 사이의 홀수만 합하도록 다시 작성된 이전 예입니다.

하위 AddOddNumbers()
  두 배의 희미한 합계
  길이만큼 희미한 Cnt
  총계 = 0
  Cnt = 1 ~ 1000의 경우 2단계
    총계 = 총계 + Cnt
  다음 Cnt
  메시지 상자 합계
엔드 서브

이번에는 Cnt가 1로 시작하여 3, 5, 7 등의 값을 취합니다. 단계 값은 카운터가 증가하는 방법을 결정합니다. Cnt의 가장 높은 값이 999이기 때문에 상위 루프 값(1000)은 실제로 사용되지 않습니다.

다음은 단계 값 3을 사용하는 또 다른 예입니다. 이 절차는 활성 시트에서 작동하며 행 1에서 행 100까지 모든 세 번째 행에 밝은 회색 음영을 적용합니다.

하위 음영EveryThirdRow()
  Dim i As Long
  i = 1 ~ 100의 경우 3단계
    Rows(i).Interior.Color = RGB(200, 200, 200)
  다음 나는
엔드 서브

이 매크로를 실행한 결과를 확인하십시오.

Excel 2016 VBA에서 For-Next 루프를 사용하는 방법

루프를 사용하여 행에 배경 음영을 적용합니다.

Exit For 문이 있는 For-Next 예

For-Next 루프는 루프 내에 하나 이상의 Exit For 문을 포함할 수도 있습니다. VBA가 이 문을 만나면 루프가 즉시 종료됩니다.

다음 예제에서는 Exit For 문을 보여줍니다. 이 루틴은 워크시트 수식에 사용하기 위한 함수 프로시저입니다. 이 함수는 하나의 인수(Str이라는 변수)를 받아들이고 첫 번째 숫자의 왼쪽에 있는 문자를 반환합니다. 예를 들어 인수가 "KBR98Z"이면 함수는 "KBR"을 반환합니다.

함수 TextPart(Str)
  Dim i As Long
  TextPart = ""
  i = 1에 대해 Len(Str)
    If IsNumeric(Mid(Str, i, 1)) 다음
      종료
    또 다른
      TextPart = TextPart & Mid(Str, i, 1)
    종료
  다음 나는
종료 기능

For-Next 루프는 1로 시작하여 문자열의 문자 수를 나타내는 숫자로 끝납니다. 코드는 VBA의 Mid 함수를 사용하여 루프 내에서 단일 문자를 추출합니다. 숫자가 발견되면 Exit For 문이 실행되고 루프가 조기에 종료됩니다.

문자가 숫자가 아닌 경우 반환된 값(함수 이름과 동일)에 추가됩니다. 루프가 모든 문자를 검사하는 유일한 경우는 인수로 전달된 문자열에 숫자 문자가 포함되어 있지 않은 경우입니다.

중첩된 For-Next 예제

루프에 여러 개의 명령문이 있을 수 있으며 다른 For-Next 루프 안에 For-Next 루프를 중첩할 수 있습니다.

다음 예제에서는 중첩 For-Next 루프를 사용하여 12행 x 5열 셀 범위에 난수를 삽입합니다. 루틴이 실행 알 내부 루프 의 각 반복에 대한 회 (행 카운터와 루프) , 외부 루프 (안부 카운터와 루프). 즉, 루틴은 Cells(Row, Col) = Rnd 문을 60번 실행합니다.

Excel 2016 VBA에서 For-Next 루프를 사용하는 방법

이 셀은 중첩된 For-Next 루프를 사용하여 채워졌습니다.

하위 채우기 범위()
  딤콜 애즈 롱
  희미한 행만큼
  열 = 1 ~ 5
    행 = 1 ~ 12
      셀(행, 열) = Rnd
    다음 행
  다음 열
엔드 서브

다음 예는 중첩된 For-Next 루프를 사용하여 값 100으로 3차원 배열을 초기화합니다. 이 루틴은 모든 루프(할당문)의 중간에 있는 명령문을 매번 1,000번(10 * 10 * 10) 실행합니다. i, j 및 k에 대한 다른 값 조합 사용:

하위 중첩 루프()
  희미한 MyArray(10, 10, 10)
  Dim i As Long
  딤 j As Long
  딤 k As Long
  나는 = 1에서 10에 대해
    j = 1 ~ 10의 경우
      k = 1 ~ 10의 경우
        MyArray(i, j, k) = 100
    다음 k
  다음 j
다음 나는
  ' 다른 문장은 여기로
엔드 서브

다음은 중첩된 For-Next 루프를 Step 값과 함께 사용하는 마지막 예입니다. 이 절차는 교대 셀의 배경색을 변경하여 바둑판을 만듭니다.

Excel 2016 VBA에서 For-Next 루프를 사용하는 방법

루프를 사용하여 바둑판 패턴을 만듭니다.

행 카운터는 1에서 8까지 반복됩니다. If-Then 구문은 사용할 중첩 For-Next 구조를 결정합니다. 홀수 행의 경우 Col 카운터는 2로 시작합니다. 짝수 행의 경우 Col 카운터는 1로 시작합니다. 두 루프 모두 Step 값 2를 사용하므로 대체 셀이 영향을 받습니다. 두 개의 추가 명령문은 셀을 정사각형으로 만듭니다(실제 바둑판처럼).

하위 MakeCheckerboard()
  Dim R As Long, C As Long
  R = 1 ~ 8의 경우
    WorksheetFunction.IsOdd(R)이면
     C = 2 ~ 8의 경우 2단계
       셀(R, C).인테리어.색상 = 255
     다음 C
    또 다른
     C = 1 ~ 8의 경우 2단계
       셀(R, C).인테리어.색상 = 255
     다음 C
    종료
  다음 R
  행("1:8").RowHeight = 35
  열("A:H").ColumnWidth = 6.5
엔드 서브

스마트시트 9.1.1

스마트시트 9.1.1

Smartsheet는 프로젝트를 관리하고, 워크플로를 구축하고, 팀과 협업할 수 있는 동적 작업 플랫폼입니다.

공유 지점

공유 지점

SharePoint는 다양한 워크플로 응용 프로그램, "목록" 데이터베이스 및 기타 웹 구성 요소는 물론 보안 기능을 사용하여 비즈니스 그룹의 공동 작업을 제어하는 ​​웹 기반 공동 작업 시스템입니다.

퍼페추얼 캘린더 1.0.38/1.0.36

퍼페추얼 캘린더 1.0.38/1.0.36

반니엔 캘린더(Van Nien Calendar)는 휴대폰에서 달력 보기 애플리케이션으로, 휴대폰에서 태음태양일을 빠르게 확인하고 중요한 업무를 정리할 수 있도록 도와줍니다.

마이크로소프트 아웃룩 2021

마이크로소프트 아웃룩 2021

Microsoft Outlook은 Microsoft Corporation에서 개발한 비즈니스 및 생산성 응용 프로그램입니다.

클릭업

클릭업

ClickUp은 모든 비즈니스에서 가장 높은 평가를 받는 생산성 플랫폼 중 하나입니다. Google, Booking.com, San Diego Padres 및 Uber와 같은 대기업은 모두 ClickUp을 사용하여 직장 생산성을 높입니다.

PDF-XChange 뷰어 2.5.322.10

PDF-XChange 뷰어 2.5.322.10

PDF는 텍스트 문서를 읽고, 만들고, 보내는 데 일반적으로 사용되는 형식이 되었습니다. 결과적으로 이러한 유형의 문서화에 사용되는 프로그램 수가 증가했습니다. PDF-XChange Viewer는 점점 더 많은 PDF 뷰어 중 하나입니다.

아파치 오픈오피스

아파치 오픈오피스

Apache OpenOffice는 특히 Excel, PowerPoint 및 Word에서 Microsoft 365에 필적하는 완전한 Office 애플리케이션 제품군을 제공합니다. 프로젝트를 보다 효과적으로 관리할 수 있으며 다양한 파일 형식을 지원합니다.

iTaxviewer 1.8.7 다운로드

iTaxviewer 1.8.7 다운로드

iTaxViewer 소프트웨어는 오늘날 가장 널리 사용되는 XML 파일 읽기 소프트웨어입니다. 이 소프트웨어는 국세청의 XML 형식으로 된 전자 세금 신고서를 읽기 위한 애플리케이션입니다.

니트로 PDF 리더

니트로 PDF 리더

Nitro PDF Reader는 대부분의 사람들이 PDF 문서로 매일 수행하는 모든 기본 작업을 다루는 편리한 PDF 편집기입니다.

Foxit 리더 12

Foxit 리더 12

Foxit Reader는 기본적으로 PDF 리더이며 PDF 파일을 생성하고, 서명하고, 편집하고, 주석을 추가할 수도 있습니다. 운영 체제에서 작동하며 Microsoft Office 패키지의 다양한 프로그램에 대한 플러그인이 있습니다.