VBA에서 Excel의 테이블 행을 반복하는 방법(11가지 방법)

  • 이 공유
Hugh West

Excel 통합 문서에 큰 데이터 세트가 있는 경우 행을 반복하여 얻고자 하는 특정 결과를 추출할 수 있으면 편리할 때가 있습니다. VBA 구현은 Excel에서 모든 작업을 실행하는 가장 효과적이고 빠르고 안전한 방법입니다. 이 기사에서는 Excel에서 VBA 매크로 를 사용하여 테이블의 행을 반복 하는 방법에 대한 11가지 방법을 보여줍니다.

통합 문서 다운로드

여기에서 무료 연습용 Excel 워크북을 다운로드할 수 있습니다.

VBA.xlsm을 사용하여 테이블 행 반복

VBA를 사용하여 Excel에서 표의 행을 반복하는 11가지 방법

이 섹션에 이어 11가지 방법으로 표의 행을 반복 하는 방법을 배우게 됩니다. Excel에서 VBA 매크로를 사용하여 빈 셀까지 행 반복, 특정 값을 찾을 때까지 행 반복, 행 반복 및 특정 셀 색상 등.

위는 방법을 설명하기 위해 이 기사에서 따를 예제 데이터 세트입니다.

1. 셀 참조 번호로 표의 모든 행에 있는 각 셀을 반복하도록 VBA를 포함

Excel 워크시트에서 표의 모든 행에 있는 각 셀을 반복 하려는 경우 셀 참조 번호를 반환 값 으로 가져온 다음 아래 설명된 단계를 따릅니다.

단계:

  • 처음에 , 키보드에서 Alt + F11 를 누르거나변수.
4538

이 코드 조각은 1에서 15까지의 행을 반복하기 위한 것입니다. " Edge "라는 특정 단어를 찾으면 단어가 포함된 셀에 색상을 지정합니다. 단어 검색에서 행 1에서 15까지의 모든 데이터를 통해 스캔을 마칠 때까지 이 작업을 계속합니다.

자세히 알아보기: VLOOKUP 테이블 배열 사용 방법 Excel의 셀 값

유사 읽기

  • 엑셀에 TABLE 함수가 있습니까?
  • Excel에서 표를 목록으로 변환하는 방법(3가지 빠른 방법)
  • Excel에서 범위를 표로 변환하는 방법(5가지 쉬운 방법)
  • Excel 표에서 수식을 효과적으로 사용(예제 4개 포함)
  • Excel 표 이름: 알아야 할 모든 것

7. VBA를 구현하여 각 행을 반복하고 Excel에서 모든 홀수 행에 색을 지정합니다

이전 섹션에서 특정 값을 전달하는 셀의 색을 지정하는 방법을 배웠습니다. 이 섹션에서는 Excel에서 VBA 매크로를 사용하여 테이블의 각 행을 반복하고 모든 홀수 행을 색칠하는 방법 을 배웁니다.

프로세스 실행 단계 아래에 설명되어 있습니다.

단계:

  • 앞서와 같이 개발자 에서 Visual Basic Editor 를 엽니다. 탭하고 코드 창에 모듈 삽입 합니다.
  • 그런 다음 다음 코드를 복사 하여 붙여넣기 합니다. 코드 창입니다.
3769

이제 코드를 실행할 준비가 되었습니다.

  • 이제, 매크로를 실행 하고 다음 이미지를 확인하여 출력을 확인합니다.

모든 홀수 행에 색상이 지정됩니다 워크시트의 테이블에 있는 모든 행을 반복한 후.

VBA 코드 설명

2978

변수를 정의합니다.

6122

작업할 범위를 정의합니다.

5375

코드의 이 부분은 현재 행의 다음 행인 B4<에서 시작하여 모든 행의 반복을 나타냅니다. 25>. 행 번호를 2로 나누는 mod가 정수형으로 저장된 반환된 행 번호와 같으면 이 코드는 계산에 의해 추출된 모든 행을 코드에 제공된 색상 인덱스로 색칠합니다. 범위의 끝에 도달할 때까지 모든 행을 계속 이동합니다.

8. VBA를 구현하여 행을 반복하고 Excel에서 모든 짝수 행에 색을 지정합니다

이전 섹션에서는 테이블의 모든 홀수 행에 색을 지정하는 방법을 배웠습니다. 이 섹션에서는 Excel에서 VBA 매크로를 사용하여 테이블의 각 행을 반복하고 모든 짝수 행을 색칠하는 방법 을 배웁니다.

프로세스를 실행하는 단계는 아래에서 설명합니다.

단계:

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 삽입 코드 창의 모듈 .
  • 다음 코드를 복사 하여 코드 창에 붙여넣기 합니다.
9580

이제 코드가 준비되었습니다.run.

  • 다음으로 매크로를 실행 하고 다음 이미지를 보고 결과를 확인합니다.

워크시트의 표에 있는 모든 행을 반복한 후 모든 짝수 행이 색이 지정됩니다 .

VBA 코드 설명

4773

변수를 정의합니다.

5674

작업할 범위를 정의합니다.

2589

이 코드 조각은 다음에 반복되기 시작합니다. 현재 행 B4 의 세 행. 먼저 색상을 지정한 다음 행 수를 2씩 증가시키고 데이터세트의 마지막 행에 도달할 때까지 계속 색상을 지정합니다.

9. 매크로를 적용하여 Excel에서 빈 셀까지 행 반복

코드가 작동하도록 하려면 테이블의 모든 행을 반복하고 빈 셀에 도달하면 중지 , 이 섹션은 당신을 위한 것입니다. Excel VBA .

9.1에서 FOR Loop Do-Until Loop 를 사용하여 해당 작업을 실행할 수 있습니다. FOR Loop

VBA Excel에서 FOR Loop 가 있는 빈 셀이 나올 때까지 테이블의 행을 반복하는 단계는 아래에 나와 있습니다.

단계:

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 삽입 코드 창에 모듈 .
  • 다음 코드를 복사 하여 코드 창에 붙여넣기 합니다.
8311

이제 코드를 실행할 준비가 되었습니다.

  • 그런 다음 실행 매크로이며 결과는 아래 gif에 표시됩니다.

매크로를 실행한 후 테이블의 모든 행을 통해 루핑을 시작했습니다 빈 셀인 셀 B8 에 도달하면 반복을 중지합니다 .

VBA 코드 설명

3013

변수를 정의합니다.

3139

화면 업데이트 이벤트를 끕니다.

6403

셀 B4 부터 마지막 ​​행까지 모든 행을 저장합니다.

5029

셀 B4 를 선택합니다.

7019

이 코드 조각은 모든 행에서 루프를 시작합니다. 행에서 빈 셀을 찾으면 선택하고 끝에 도달할 때까지 행을 계속 스캔합니다.

1631

화면 업데이트 이벤트를 켭니다.

9.2. Do-Until Loop

VBA 에서 Do-Until 루프 가 있는 빈 셀까지 행을 반복하는 단계는 아래와 같습니다.

단계:

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 삽입 코드 창의 모듈 .
  • 그런 다음 다음 코드를 복사 하여 코드 창에 붙여넣기 합니다.
9932

이제 코드를 실행할 준비가 되었습니다.

  • 나중에 매크로를 실행하십시오. 결과는 다음 gif에 표시됩니다.

매크로를 실행한 후 테이블의 모든 행 을 반복하기 시작했고 한 번 빈 셀, 셀 B8 에 도달했고 반복을 중지했습니다 .

VBA 코드Explanation

8299

작업할 셀을 선택합니다.

5811

빈 셀을 찾을 때까지 루프를 시작하고 계속합니다.

1675

빈 셀이 있는 경우 행에서 찾은 다음 선택하고 반복을 중지합니다.

10. Excel

에서 빈 셀이 여러 개 있을 때까지 행을 반복하는 VBA 매크로 이전 섹션에서는 빈 셀이 발견될 때 루프를 중지하는 방법을 배웠습니다. 그러나 하나가 아닌 여러 개의 빈 셀이 발견될 때까지 반복을 중지하지 않으려면 어떻게 해야 합니까?

여러 개의 빈 셀이 테이블에서 발견될 때까지 행을 반복 하는 단계 with VBA Excel은 아래와 같습니다.

단계:

  • 먼저 Visual Basic Editor 를 엽니다. Developer 탭과 코드 창에 Module 삽입 합니다.
  • 그런 다음 다음 코드를 복사 하고 <1 코드 창에>붙여넣기 하세요.
3846

이제 코드를 실행할 준비가 되었습니다.

  • 이제 매크로를 실행 하고 출력에 대한 다음 gif를 확인하십시오.

매크로를 실행한 후 첫 번째 빈 셀, 셀 B8 . 셀 B16 에서 두 개의 연속된 빈 셀을 발견했을 때 중지되었습니다.

VBA 코드 설명

3769

셀 선택 에서 작업할 것입니다.

8465

두 개의 연속된 빈 셀이 발견될 때까지 루프를 시작하고 계속합니다.

5628

두 개의 연속적인 빈 셀이 발견되면그것을 선택하고 반복을 중지합니다.

11. VBA를 삽입하여 Excel에서 공백이 될 때까지 모든 열을 연결하여 행을 반복합니다.

이 섹션에서는 테이블의 모든 행을 반복하고 빈 셀이 될 때까지 모든 열을 연결하는 방법을 보여줍니다. VBA Excel에서 찾을 수 있습니다.

Excel에서 VBA 매크로를 사용하여 이를 수행하는 방법을 알아보겠습니다.

단계:

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 모듈<2을 삽입 합니다> 코드 창에서.
  • 그런 다음 다음 코드를 복사 하여 코드 창에 붙여넣기 하십시오.
6862

귀하의 코드 이제 실행할 준비가 되었습니다.

  • 나중에 매크로를 실행하고 결과는 다음 gif를 참조하십시오.

위의 gif에서 볼 수 있듯이 MsgBox 팝업이 표시되어 모든 열에 있는 모든 열의 연결된 값을 보여줍니다. Excel 워크시트의 테이블에서 row . 그러나 빈 셀 에 도달하면 중지됩니다.

VBA 코드 설명

7294

변수를 정의합니다.

6979

작업할 시트 이름을 설정합니다(" ConcatenatingAllColUntilBlank "는 통합 문서의 시트 이름입니다).

5984

작업할 범위를 정의합니다.

1666

이 코드 조각은 배열로 루프를 시작합니다. 배열의 가장 큰 첨자와 배열의 하한을 반환할 때까지 계속 반복합니다.첫 번째 차원. 그런 다음 두 번째 차원의 하한을 추출하는 반복에 들어갑니다. 그런 다음 iResult 변수에서 추출된 모든 값을 연결하고 결과를 MsgBox에 던져서 전달합니다. 빈 셀을 찾을 때까지 이 작업을 계속합니다.

결론

결론적으로 이 문서에서는 행을 반복하는 방법에 대한 11가지 효과적인 방법을 보여 주었습니다. VBA 매크로 가 있는 Excel의 테이블 . 이 기사가 귀하에게 많은 도움이 되었기를 바랍니다. 주제에 대해 궁금한 점이 있으면 언제든지 문의하십시오.

개발자 -> Visual Basic에서 Visual Basic Editor를 엽니다.

  • 다음으로 팝업 코드 창에서 메뉴 표시줄에서 삽입 -> Module .

  • 그런 다음 다음 코드를 복사 하여 코드에 붙여넣기 하십시오. 창입니다.
5169

이제 코드를 실행할 준비가 되었습니다.

  • 이제 컴퓨터에서 F5 를 누르십시오. 키보드 또는 메뉴 표시줄에서 실행 ->을 선택합니다. Sub/UserForm 을 실행합니다. 하위 메뉴 표시줄에서 작은 재생 아이콘 을 클릭하여 매크로를 실행할 수도 있습니다.

  • 또는 데이터세트와 결과를 시각적으로 확인하고 비교하면 코드를 저장 하고 관심 있는 워크시트 로 돌아갈 수 있습니다.
  • 여기에서 <1을 클릭할 수 있습니다>매크로 개발자 탭에서 매크로 이름을 선택한 다음 실행 을 클릭합니다.

성공적인 코드 실행 후 결과를 보려면 위의 gif를 보십시오. MsgBox 팝업이 나타나 Excel 시트의 표에서 각 행 의 모든 셀 참조 번호를 보여줍니다.

VBA 코드 설명

1869

열 B를 검색하여 테이블의 마지막 행 번호를 가져옵니다.

9775

데이터가 시작되는 행 번호 4를 설정합니다.

1382

첫 번째 행부터 반복합니다.

2777

데이터가 시작되는 열 번호 2를 설정합니다.

5231

행을 반복하여 마지막 행을 가져옵니다.마지막 행까지 현재 행을 평가하여 열 번호.

8217

첫 번째 행에서 마지막 행까지 열을 반복하는 증분.

1992

이 코드 조각은 처리하기 위해 작동하며 각 후 증분합니다. 반복하고 코드의 결과를 표시합니다.

자세히 보기: Excel 테이블에 자동으로 새 행을 추가하는 방법

2 . 값에 따라 모든 행의 각 셀을 반복하도록 VBA 구현

테이블의 모든 행에 있는 각 셀을 반복하고 셀에 있는 값을 반환 값으로 던지려는 경우 , 이 섹션은 VBA Excel.

ListObject DataBodyRange VBA 속성. 개체와 속성이 모두 포함된 매크로 코드를 보여드리겠습니다.

2.1. ListObject

를 사용하여 VBA Excel의 ListObject 를 사용하여 셀 값별로 테이블의 모든 행에 있는 각 셀을 루핑하는 단계는 다음과 같습니다.

단계:

  • 이전과 같은 방법으로 개발자 탭에서 Visual Basic Editor 를 열고 삽입 코드 창에 모듈 .
  • 그런 다음 코드 창에서 다음 코드를 복사 하고 붙여넣기
9822

이제 코드를 실행할 준비가 되었습니다.

  • 그 후 매크로를 실행하십시오. 위 섹션에서 보여드린 것처럼. 결과는 gif에 표시됩니다.아래에 있습니다.

팝업 MsgBox 가 표시되어 각 행 <2의 모든 셀에 있는 값을 보여줍니다>Excel 시트의 표에서.

VBA 코드 설명

8931

변수를 정의합니다.

9161

이 부분 의 코드는 먼저 테이블의 행을 통해 루프를 시작합니다(" TblStudents "는 테이블 이름임). 그런 다음 각 행에 열을 입력합니다. 그런 다음 MsgBox의 셀 값을 전달합니다. 그런 다음 다음 열로 이동합니다. 한 행의 모든 ​​열을 반복한 후 다음 행으로 이동하여 마지막 행까지 반복 프로세스를 계속합니다.

2.2. DataBodyRange 속성 사용

테이블에서 추출된 데이터를 보다 구체적으로 사용하려면 ListObject DataBodyRange 속성을 ​​활용할 수 있습니다. DataBodyRange 속성은 목록에서 헤더 행과 삽입 행 사이의 범위를 포함하는 결과를 표시합니다.

모든 행의 각 셀을 반복하는 방법에 대한 단계 VBA Excel의 DataBodyRange 가 포함된 셀 값으로 표를 아래에 제공합니다.

단계:

  • 표시된 대로 전에 개발자 탭에서 Visual Basic Editor 를 열고 코드 창에 모듈 삽입 합니다.
  • 그런 다음 , 다음 코드를 복사 하여 코드 창에 붙여넣기 하십시오.
8093

이제 코드를 실행할 준비가 되었습니다.

  • 나중에, 실행 매크로를 실행하고 다음 gif를 보고 출력을 확인합니다.

팝업 MsgBox<가 나타납니다. 2> Excel 시트의 테이블에서 각 행의 모든 ​​셀이 가지고 있는 값 을 보여줍니다.

VBA 코드 설명

1380

변수를 정의합니다.

8020

이 코드 조각은 먼저 테이블의 행을 통해 루프를 시작하고(" TblStdnt "는 테이블 이름임) 다음을 제외한 값 범위를 반환합니다. 테이블의 헤더 행. 그런 다음 MsgBox에서 범위 값을 전달합니다. 그런 다음 다음 행으로 이동하여 범위를 추출하고 마지막 행까지 반복 프로세스를 계속합니다.

3. VBA 매크로를 적용하여 Excel에서 열을 연결하여 행을 반복합니다

이 섹션에서는 열을 데이터세트의 첫 번째 열과 연결하여 테이블의 행을 반복하는 방법을 보여줍니다.

예를 들어 데이터세트의 경우 먼저 셀 B5 의 John과 셀 C5 101을 연결하여 반복한 다음 셀 B5 의 John과 셀 D5 89를 행 5 에서 연결합니다.

Excel의 VBA 매크로.

단계:

  • 먼저 Visual Basic Editor Developer 탭과 Insert Module 을 코드 창에
  • 둘째, 코드 창에서 복사 다음 암호 붙여넣기 합니다.
8799

이제 코드를 실행할 준비가 되었습니다.

  • 셋째, <1 매크로를>실행 합니다. 결과를 보려면 아래 gif를 보십시오.

연결된 값을 보여주는 MsgBox 팝업이 나타납니다. 첫 번째 및 두 번째 열 의 셀( 열 B 의 셀 B5에 있는 John 및 열 C 의 셀 C5에 있는 101) 및 연결된 값 행 번호 5 데이터 세트에서. 그리고 이 연결 작업은 테이블의 마지막 행에 도달할 때까지 계속됩니다.

VBA 코드 설명

4684

변수를 정의합니다.

3249

그런 다음 코드는 활성 시트에서 테이블을 선택합니다(테이블 이름의 " TblConcatenate ").

4807

그 후 헤더를 제외한 각 행을 반복하기 시작합니다. 열. 반복이 열 머리글과 행 사이의 범위에서 일치하는 항목을 찾으면 iValue 변수에 값을 저장합니다.

8673

위 조건이 충족되지 않으면 다음 코드는 MsgBox에 값을 던지고 조건을 완료합니다. 그런 다음 다른 범위에서 루프로 이동하고 마지막 행까지 반복을 계속합니다. 끝 행에 도달하면 매크로가 코드 실행을 종료합니다.

4. 반복할 매크로 포함Excel에서 테이블의 모든 열을 연결하여 행을 통해

이 섹션에서는 데이터세트의 각 행이 보유한 모든 열을 연결 하는 방법을 배웁니다. Excel의 VBA 매크로.

아래에 표시된 실행 단계.

단계:

  • 먼저 < 개발자 탭의 1>Visual Basic Editor 및 모듈 을 코드 창에 삽입 합니다.
  • 그런 다음 다음 코드를 복사 하여 코드 창에 붙여넣기 하십시오.
2409

이제 코드를 실행할 준비가 되었습니다.

  • 다음으로 매크로 코드를 실행 합니다.

위 GIF에서 볼 수 있듯이 팝업 MsgBox 는 Excel 워크시트의 테이블에서 모든 행에 있는 모든 열의 연결된 값을 보여줍니다.

VBA 코드 설명

1834

변수를 정의합니다.

3937

작업할 시트 이름을 설정합니다(“ ConcatenatingAllCol ”은 시트 이름입니다. 통합 문서에서).

9035

De 작업할 테이블 이름을 지정합니다(" TblConcatenateAll "는 데이터 세트의 테이블 이름임).

1563

테이블의 각 행에서 반복을 시작합니다.

1625

테이블의 각 행의 각 열을 통해 반복을 시작합니다.

7317

각 행의 각 열이 전달하는 값을 교차하여 결과를 저장합니다. 각 행에 있는 모든 열을 스캔한 후결과는 MsgBox입니다. 그런 다음 다시 다음 행에서 반복을 시작하고 테이블의 마지막 행에 도달할 때까지 반복을 계속합니다.

자세히 알아보기: Excel VBA를 사용하여 테이블의 여러 열을 정렬하는 방법 (2가지 방법)

5. VBA 매크로를 사용하여 테이블의 행을 반복하여 값을 찾은 경우 반복 중지

테이블의 행을 반복하고 특정 값을 찾으면 반복을 중지한다고 가정합니다 . 간단한 매크로 코드로 그렇게 할 수 있습니다.

Excel에서 VBA 하는 방법을 알아보겠습니다.

단계:

  • 먼저 개발자 탭에서 Visual Basic Editor 를 열고 코드 창에 모듈 삽입 합니다.
  • 그런 다음 코드 창에서 다음 코드를 복사 하고 붙여넣기 합니다.
3822

이제 코드를 실행할 준비가 되었습니다. .

  • 나중에 매크로를 실행 합니다.
  • 루프를 시작하고 중지합니다. 범위에서 특정 값 (" Edge ")을 찾고 결과를 ​​ MsgBox .
  • 에 표시합니다.

위 이미지에서 볼 수 있듯이 셀 주소 $B$10 를 보여주는 팝업 MsgBox가 있습니다. 지정된 값, Edge .

VBA 코드 설명

5159

정의 variable.

3353

이 코드는 1에서 15까지 행을 반복하기 위한 것입니다. 특정 단어를 찾으면" Edge " 그런 다음 단어를 포함하는 셀 주소와 함께 결과를 전달합니다. 이 작업은 단어 검색 시 1행에서 15행까지의 모든 데이터를 통해 스캔을 마칠 때까지 계속됩니다.

자세히 알아보기: Excel 표 에서 행과 열을 삽입하거나 삭제하는 방법

6. Excel에서 각 행을 반복하고 특정 값에 색을 지정하는 VBA

MsgBox에 지정된 값의 셀 주소를 표시하지 않으려면 어떻게 합니까? 찾고 있는 값이 있는 셀 에 색상을 지정할 수 있습니다.

VBA 매크로를 사용하여 수행하는 방법을 알아보겠습니다.

단계:

  • 이전과 같은 방법으로 개발자 탭에서 Visual Basic Editor 를 열고 삽입 코드 창에 모듈 .
  • 다음 코드를 복사 하여 코드 창에 붙여넣기 합니다.
2582

이제 코드를 실행할 준비가 되었습니다.

  • 그 다음 매크로를 실행 합니다.
  • 루프를 시작하고 범위에서 특정 값(" Edge ") 을 찾으면 루프를 중지하고 ColourIndex를 사용하여 셀에 색을 지정 합니다. 코드에서 제공한

위의 이미지에서 볼 수 있듯이 C ell B10 , 지정된 값을 찾은 곳 " Edge "는 코드 실행 후 색상이 지정됩니다.

VBA 코드 설명

1863

정의

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.