Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

엑셀(Excel) VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수

 

환경 : Microsoft Excel 2010

 

엑셀에서 두가지 이벤트에 대한 예제입니다. 셀을 선택했을때와 워크시트를 선택했을 때의 이벤트 함수를 각각 구현해 봅니다.

 

 

먼저 구현할 워크시트를 왼쪽 탐색기에서 선택합니다. 그리고 오른쪽 상단에 콤보를 클릭해서 Worksheet 선택합니다.

 

엑셀(Excel) VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수

 

오른쪽상단 왼쪽콤보에서 Worksheet 를 선택하였다면 오른쪽콤보박스에는 Worksheet 에 해당하는 함수들이 나오게 될겁니다. 그중에서 셀을 선택했을 때 발생하는 이벤트인 SelectionChange() 함수를 선택합니다.

엑셀(Excel) VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수

 

 

이 함수에 다음과 같이 입력합니다. 아래 소스는 인수로 넘어온 Target 객체를 메시지로 보여주는 것인데  If 함수로 걸러낸 이유는 영역을 선택했을 때는 에러가 나기 때문입니다. 셀하나를 선택하지 않고 영역을 선택했는지 알아볼려면 Target.Cells.Count 사용하시면 됩니다.

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Cells.count > 1 Or IsEmpty(Target) Then

        Exit Sub

    Else

        MsgBox "현재셀의 값 : " & Target

    End If

End Sub

 

다음은 해당하는 워크시트를 선택했을 때 발생하는 이벤트 입니다. 그것은 Activate() 함수인데 워크시트가 선택되면 선택되었다고 메시지를 뿌리도록 구현합니다.

엑셀(Excel) VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수

 

 

Private Sub Worksheet_Activate()

    MsgBox "시트가 선택되었습니다."

End Sub

 

엑셀(Excel) VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수

 

반응형
Posted by 녹두장군

댓글을 달아 주세요