VB(A)

시트명을 입력하면 해당 시트로 이동

당근쨈 2019. 3. 12. 13:26


A1셀에 시트명을 입력하면 해당 시트로 이동하는 매크로입니다.

시트명이 아주 많을 때 마우스로 일일이 찾아가길 힘들 때 사용하면 좋은 코드입니다.

실무에서 많이 요구되는 내용이기도 합니다.


시트명 입력하면 해당 시트로 이동.xlsm


Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
'워크시트의 셀 내용이 바뀌면 이벤트를 실행합니다.
 
    With Target
    
        'A1셀에 아니면 매크로를 종료합니다.
        If Intersect(.Cells, Range("A1")) Is Nothing Then Exit Sub
        
        '다중 셀을 선택할 경우 매크로를 종료합니다.
        If .CountLarge > 1 Then Exit Sub
        
    End With
    
    With Application
    
        .EnableEvents = False '이벤트 감시기능을 끕니다.
        
        On Error GoTo j '에러가 날 경우 J로 보냅니다.(에러메시지 출력 후 매크로 종료)
        .Goto Sheets(Target.Text).Range("A1")   '시트명이 있을 때 해당 시트로 이동합니다.
        .EnableEvents = True '이벤트 감시기능을 켭니다.
        Exit Sub    '매크로를 종료합니다.
        
        '에러가 날 경우 에러메시지를 출력 후 매크로를 종료합니다.
j:
        MsgBox "시트명을 확인하세요", vbCritical
        .EnableEvents = True
        
    End With
        
End Sub
 
cs