반응형
VBA 에서는 시트와 관련된 이벤트가 이미 준비되어 있습니다. 사용자는 몇 번의 클릭으로 시트에서 일어나는 이벤트를 가로채서 자신이 원하는 기능을 구현할 수 있습니다. 그 중 하나가 셀 영역을 선택했을 때 발생하는 이벤트입니다. 해당 이벤트 함수를 이용해서 선택한 영역만 배경색 칠해 보겠습니다. 함수명은 SelectionChange 입니다.
▼ 시트와 관련된 이벤트 함수에 기능을 구현하기 위해서는 해당하는 함수를 추가해야 합니다. 왼쪽 프로젝트 탐색기에서 시트를 선택합니다. 그리고 오른쪽으로 가서 왼쪽 상단 콤보 박스를 클릭해서 Worksheet 를 선택합니다.
▼ 그럼 바로 오른쪽 옆 콤보 박스에 Worksheet 와 관련된 이벤트 함수 목록이 나타납니다. 이곳에 있는 함수들이 사용자가 관여할 수 있는 것들입니다. 이 중에서 셀을 드래그해서 선택하면 발생하는 이벤트는 SelectionChange 입니다.
▼ SelectionChange 를 선택하면 바로 아래에 함수 원형이 생성됩니다. 인수는 하나 입니다. Target 은 사용자가 마우스로 선택한 영역을 가리킵니다. 아래는 For Each 문을 이용해서 반복문을 돌면서 선택한 영역에 노란색으로 색깔을 입히는 소스 입니다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Set rng = Target
For Each cell In rng
cell.Interior.Color = vbYellow
Next cell
End Sub
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 통합 문서의 기본 이벤트 함수로 문서가 열릴 때 기능 구현하기 ▶ 엑셀 VBA - 특정시트나 셀이 선택되었을 때 실행되는 이벤트 함수 ▶ 엑셀 VBA 시트 더블클릭 이벤트로 셀에 배경색 변경하는 방법 ▶ 엑셀 VBA 개발 도구를 이용해서 버튼 삽입하고 함수 연결하기 ▶ 엑셀 VBA - 목록상자 컨트롤 이용하여 목록 조회, 선택하기 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 (0) | 2023.07.09 |
---|---|
엑셀 VBA 개발할 때 로그 출력하는 방법 (0) | 2023.07.08 |
엑셀 VBA 콤보 상자에 하나 혹은 여러 개의 열 추가하는 방법 (0) | 2023.07.08 |
엑셀 VBA 스핀(Spin) 컨트롤 사용하기 (0) | 2023.07.03 |
엑셀 VBA 사용자 정의 폼에서 그림 표시와 셀에 추가하기 (0) | 2023.07.02 |
엑셀 VBA 무한 루프 빠져 나오거나 취소 기능 없애는 방법 (0) | 2023.06.29 |
엑셀 VBA 매크로 함수로 공백 제거하기, Trim, RTrim, LTrim 함수 이용 (0) | 2023.06.28 |
엑셀 VBA 날짜 데이터를 비교하거나 연산하기 (0) | 2023.06.27 |