본문 바로가기
IT 이모저모/VBA

VBA(엑셀 매크로) 특정 시트 활성화 (시트 이동, 시점변경)

by 내일은맑음 2021. 1. 24.
반응형

VBA로 특정 시트를 활성화 해야하는 경우가 있다.

이 경우 Worksheets()를 사용하여 특정시트 오브젝트에 접근, .Activate를 사용하여 시트를 활성화 할 수 있다.

Worksheets()에 대한 간단한 설명 뒤 바로 예제를 보도록 하겠다.

 

Worksheets()와 .Activate 란? 

Worksheets()는 파라미터로 들어간 문자열 또는 숫자의 시트의 오브젝트를 돌려주는 함수이다.

자세한 설명은 아래의 링크를 참고

2021/01/24 - [IT 이모저모/VBA] - VBA(엑셀 매크로) 시트(sheet) 이름변경 예제, Worksheets() 구조와 예제

 

.Activate는 Worksheets()의 메소드로 해당 시트 오브젝트를 활성화 시켜준다. 

Worksheets(시트명).Activate

 

시트 활성화 예제

test1라는 시트를 생성 후 다른 시트를 활성화 시킨 상태에서 아래 코드를 실행

Sub chage_active_sheets()
    
    Dim test1 As Worksheet
    'test1의 시트 오브젝트 취득
    Set test1 = Worksheets("test1")
    'test1시트 활성화
    test1.Activate
    '활성화한 시트의 셀 내용을 메세지로 출력
    MsgBox Cells(2, 4).Value
End Sub

위의 코드를 실행시키면 어느 시트가 활성화가 되어있든 시트의 이름이 test1의 시트를 찾아

그곳의 2행 4열의 내용을 메세지로 출력한다.

 

실행결과

test1의 시트가 활성화 되고 2행 4열의 내용이 출력

 

반응형