Vba에서 스프레드시트를 찾는 방법(예제 포함)


VBA를 사용하여 Excel 통합 문서의 시트를 탐색하려면 다음 방법을 사용할 수 있습니다.

방법 1: 모든 스프레드시트 살펴보기

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

End Sub

이 특정 매크로는 통합 문서의 각 시트를 살펴보고 각 시트의 A1 셀 값을 100으로 설정합니다.

방법 2: 특정 워크시트를 제외한 모든 워크시트 찾아보기

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

이 특정 매크로는 통합 문서의 각 시트를 반복하고 Sheet2Sheet3 이라는 시트를 제외하고 각 시트의 A1 셀 값을 100으로 설정합니다.

다음 예에서는 4개의 빈 시트가 포함된 Excel 통합 문서에서 이러한 각 방법을 실제로 사용하는 방법을 보여줍니다.

예 1: 모든 워크시트 찾아보기

다음 매크로를 사용하여 통합 문서의 각 시트에 있는 셀 A1 의 값을 100과 동일하게 설정할 수 있습니다.

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    ws.Range("A1").Value = 100

Next ws

이 매크로를 실행하면 통합 문서의 각 시트에 있는 셀 A1 의 값이 100이 됩니다.

예 2: 특정 워크시트를 제외한 모든 워크시트 찾아보기

각 워크시트를 살펴보고 Sheet2Sheet3 이라는 시트를 제외 하고 각 시트의 A1 셀 값을 100으로 설정한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubLoopSheets ()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select

Next ws

End Sub

이 매크로를 실행하면 Sheet1Sheet4A1 셀에 값이 100인 것을 볼 수 있습니다.

그러나 Case 함수를 사용하여 이러한 시트를 무시했으므로 Sheet2Sheet3 에는 A1 셀에 값이 없습니다.

이 예에서는 단순함을 위해 각 워크시트를 살펴보고 셀 값을 특정 값과 동일하게 설정했습니다.

그러나 원하는 경우 For Each 문과 유사한 구문을 사용하여 각 시트에서 훨씬 더 복잡한 작업을 수행할 수 있습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA:범위 내 행 수를 계산하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다