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
이 특정 매크로는 통합 문서의 각 시트를 반복하고 Sheet2 및 Sheet3 이라는 시트를 제외하고 각 시트의 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: 특정 워크시트를 제외한 모든 워크시트 찾아보기
각 워크시트를 살펴보고 Sheet2 및 Sheet3 이라는 시트를 제외 하고 각 시트의 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
이 매크로를 실행하면 Sheet1 과 Sheet4 의 A1 셀에 값이 100인 것을 볼 수 있습니다.
그러나 Case 함수를 사용하여 이러한 시트를 무시했으므로 Sheet2 및 Sheet3 에는 A1 셀에 값이 없습니다.
이 예에서는 단순함을 위해 각 워크시트를 살펴보고 셀 값을 특정 값과 동일하게 설정했습니다.
그러나 원하는 경우 For Each 문과 유사한 구문을 사용하여 각 시트에서 훨씬 더 복잡한 작업을 수행할 수 있습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA:범위 내 행 수를 계산하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법
VBA: COUNTIF 및 COUNTIFS 함수 작성 방법