[VBA 제 26강] INTERSECT메서드 썸네일 이미지
[VBA 제 26강] INTERSECT메서드
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,447
즐겨찾기
[VBA 제 26강] INTERSECT메서드를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 프리미엄
제품 상세정보

 




[ 기초 강좌 ]

 

제 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

 

 

 

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 26강] INTERSECT메서드
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중