Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

 

엑셀에서 워크시트가 활성화되는 순간과 셀이 선택되었을 때 발생하는 이벤트를 이용해서 팝업 창을 띄우는 예제를 구현해 보겠습니다. 해당 예제를 학습해 두었다가 자신의 상황에 맞게 응용해 보시기 바랍니다.

 

 

셀 선택 이벤트 구현하기

 

먼저 VBA에서 셀을 선택했을 때 발생하는 이벤트를 통해 셀 값을 팝업창에 표시해 보겠습니다. VBA 편집 에디터를 띄우기 위해 개발 도구 > Visual Basic 리본 메뉴를 클릭합니다.

 

왼쪽 사이드 탐색기에서 샘플을 구현할 시트를 더블 클릭합니다. 그리고 오른쪽 편집창으로 이동합니다.

 

▼ 셀 선택 이벤트 함수를 만들기 위해 왼쪽 콤보박스에서 Worksheet 를 선택합니다. 현재 시트에는 다른 컨트롤들이 없기 때문에 Worksheet 만 보입니다.

 

▼ 다음은 이벤트 함수를 골라야 합니다. 셀 선택 이벤트 함수는 SelectChange() 입니다. 오른쪽상단 콤보박스에서 SelectionChange() 함수를 선택합니다.

 

▼ 에디터 화면에 함수가 생성되면 팝업창에 셀 값을 표시하는 소스를 추가합니다. 아래 소스는 인수로 넘어온 Target 객체를 팝업창에 표시합니다. Target 이 바로 셀에 들어가 있는 값입니다. If 함수로는 여러 셀을 드래그해서 선택했는지 여부를 체크하기 위한 용도입니다. 2개 이상의 셀을 선택했다면 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

 

 

이렇게 작업한 소스는 매크로에 해당하기 때문에 파일 확장자를 변경해서 저장해야 합니다. Ctrl + S 를 눌러 저장을 시도합니다. 그러면 화면에 매크로 파일 형식으로 저장할 것인지 묻습니다. 여기서 헷갈리시는 분들이 있는데 작성한 매크로 소스를 저장하기 위해서는 아니요 를 눌러야 합니다.

 

※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 통합 문서 문서가 열리는 순간 기능 구현하기
엑셀 VBA 시트 더블클릭 이벤트로 셀에 배경색 변경하기
엑셀 VBA 영역을 선택했을 때 이벤트 처리하기
엑셀 VBA 개체, 속성, 함수, 이벤트 사용법과 사례 검색해서 참고하기
엑셀 VBA 매크로 소스 주석 Comments 넣는 방법



 

화면에 파일 저장 대화상자가 뜨면 파일 형식을 매크로 소스 저장이 가능한 xlsm 으로 변경합니다.

 

이제 워크시트로 돌아가서 제대로 동작하는지 테스트해 봅니다. 셀을 선택하면 그림처럼 팝업창이 뜨면서 현재 선택한 셀 값을 표시할 겁니다.


 

워크시트 이벤트 구현하기

 

두 번째는 워크시트가 활성화될 때 실행되는 이벤트를 구현해 보겠습니다. 이벤트 함수는 Activate 입니다. 오른쪽 콤보박스에서 Activate 를 선택하고 함수를 생성합니다.

 

▼ 함수 내부에 선택되었다는 메시지창을 보여주기 위해 MsgBox 를 추가합니다.

 

결과는 다음과 같습니다. 소스가 구현되어 있는 워크시트를 선택하면 그림과 같이 팝업창이 뜹니다.

 

※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 통합 문서 문서가 열리는 순간 기능 구현하기
엑셀 VBA 시트 더블클릭 이벤트로 셀에 배경색 변경하기
엑셀 VBA 영역을 선택했을 이벤트 처리하기
엑셀 VBA 개체, 속성, 함수, 이벤트 사용법과 사례 검색해서 참고하기
셀 VBA 매크로 소스 주석 Comments 넣는 방법
반응형
Posted by 녹두장군1
,