[ 기초 강좌 ]
제 26 강
INTERSECT메서드
Excel의 생명이라고 할 수 있는 INTERSECT메서드
그 사용법을 알아봅니다.
이럴 때 필요해요
서로 겹쳐지는 영역을 구해 줄때 필요합니다.
이렇게 사용해요
아래의 B5:G12(노란색 셀)영역을 선택하면 선택이 되지않고,
그아래의 있는 그림처럼 튕기게 만들어 보겠습니다.
(참고로, 노란색 셀 영역은 [NoTouchArea] 라고 [이름정의]된 영역입니다.)
아래의 코드와 함께 설명 부여하겠습니다.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
'''앞에서도 소개해 드린 바와 같이, SelectionChange 이벤트는 사용자가 워크시트 내의 어떤 셀(또는 영역)을 선택할 때 마다
'''발생하는 이벤트입니다.
'''SelectionChange이벤트 핸들러 프로시저는 기본적으로 Target, 즉 현재 선택된 셀(영역)을 프로시저의 인수로 함께 전달합니다.
Dim rngSelect As Range On Error Resume Next Set rngSelect = Intersect(Target, [NoTouchArea]) |
'''문제의 Intersect 메서드가 드디어 나왔군요! Intersect는 '교차하다, 횡단하다, 가로지르다' 라는 의미를 지니고 있습니다.
'''사전적인 의미에서도 무슨 역할을 하는 메서드인지 짐작이 가시지요?
'''학교 다닐 때 수학 시간에 맨 처음 배우게 되는 단원이… '집합'입니다.
'''집합은 또 부분집합, 교집합, 합집합 등으로 나눌 수 있는데 이 중에서 교집합이 바로 Intersect 메서드에 의해서 구해 지는
'''영역입니다. 무슨소리냐면,
'''아래 그림을 보세요. A라는 집합과 B라는 집합이 있다고 할 때, 서로 중복되는 영역(C)이 존재합니다.
'''서로 겹쳐지는 C영역을 구해 주는 것이 Intersect 메서드입니다.
If Not rngSelect Is Nothing Then Target.Next.Select |
'''rngSelect가 Nothing 이라는 것은 위의 그림과 같이 서로 겹쳐지는 영역이 없다는 뜻이겠지요?
'''그런데, 앞에 Not 이라는 단어가 붙어 있으므로 중복되는 영역이 있을 경우, 그 다음 셀(Next)을 선택하라는 의미입니다.
End Sub |
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.