VBA 시트 선택하기, 시트 활성화 및 활성화된 시트 가져오기
In this Article
이 페이지에서는 VBA의 ActiveSheet 개체에 대해 설명합니다. 또한 워크시트를 활성화하고, 선택하고, 이동하는 방법(기타 등등)에 대해서도 설명합니다. VBA에서 워크시트로 작업하는 방법에 대한 더 자세한 내용은 VBA 워크시트 가이드를 참조하세요.
ActiveSheet
VBA에서 ActiveSheet는 현재 활성화된 워크시트를 나타냅니다. 한 번에 하나의 시트만 활성화할 수 있습니다.
워크시트 활성화 하기 (ActiveSheet 설정하기)
활성 시트를 설정하려면 Worksheet.Activate를 사용합니다:
Worksheets("Input").Activate
시트 활성화하기 명령은 실제로 시트로 “이동”하여 표시되는 시트를 변경합니다.
위의 예에서는 시트(탭) 이름을 사용했습니다. 대안으로 워크시트의 VBA 코드 이름을 사용할 수 있습니다:
Sheet1.Activate
활성 시트 이름
아래의 명령어를 통해 활성화된 시트의 이름을 가져올 수 있습니다.:
msgbox ActiveSheet.name
선택한 시트 vs 활성화된 시트
하나의 시트만 활성 시트가 될 수 있습니다. 그러나 한 번에 여러 워크시트를 선택할 수 있습니다.
여러 워크시트를 선택한 경우 “맨 앞에 있는” 워크시트만 활성 워크시트로 간주됩니다(활성 시트).
워크시트 선택하기
워크시트를 활성화하는 대신 선택하려는 경우 .Select 명령어를 사용합니다.
탭 이름으로 워크시트 선택
시트 탭 이름을 기준으로 워크시트를 선택합니다.
Sheets("Input").Select
인덱스 번호로 워크시트 선택
다른 탭에 대한 위치를 기준으로 워크시트를 선택합니다.
Worksheets(1).Select
VBA 코드명으로 워크시트 선택
Sheet1.Select
코드명으로 워크시트를 선택하면 워크시트 이름 변경으로 인한 오류를 방지할 수 있습니다.
현재 워크시트 선택하기
현재 워크시트를 선택하려면 ActiveSheet 개체를 사용합니다:
ActiveSheet.Select
시트 활성화/선택 예제 더 보기
ActiveSheet를 변수로 설정
이렇게 하면 워크시트 개체 변수에 ActiveSheet가 할당됩니다.
Dim ws As Worksheet
Set ws = ActiveSheet
활성시트 이름 변경
아래의 명령어로 활성시트 이름을 변경할 수 있습니다.
ActiveSheet.Name = "NewName"
활성시트에 With문을 활용한 명령어
With 문을 사용하면 객체(예: Sheets 또는 ActiveSheet)로 작업할 때 코드를 간소화할 수 있습니다.
With ActiveSheet
.Name = "StartFresh"
.Cells.Clear
.Range("A1").Value = .Name
End With
각 코드 줄 앞에 “ActiveSheet”를 반복할 필요가 없다는 점을 주목하세요. 긴 명령 목록으로 작업할 때 시간을 크게 절약할 수 있습니다.
선택한 시트들에 반복명령어 사용
다음 매크로는 선택한 모든 시트들을 반복하여 이름을 표시합니다.
Sub GetSelectedSheetsName()
Dim ws As Worksheet
For Each ws In ActiveWindow.SelectedSheets
MsgBox ws.Name
Next ws
End Sub
다음 시트로 이동하기
아래 코드를 통해 다음 시트로 이동합니다. 현재 활성시트가 마지막 시트인 경우 통합 문서의 첫 번째 시트로 이동합니다.
If ActiveSheet.Index = Worksheets.Count Then
Worksheets(1).Activate
Else
ActiveSheet.Next.Activate
End If
간편한 VBA 코딩
온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 시간 절약이 가능하고 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!