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

 




[ 기초 강좌 ]

 

제 24 강

동명이인 처리하기

 

동명이인 처리하기

그 사용법을 알아봅니다.

이럴 때 필요해요

 

동명이인을 처리하고 싶을때

이렇게 사용해요

 

먼저 B4 셀에 "김유신"이라는 이름을 입력한 다음, Enter 해 보세요.
위쪽의 표에서 성명란을 살펴 보시면 "김유신","이순신"...등과 같은 동명이인이 있습니다.

이런 경우 앞에서와 같이 특정 셀을 찾을 이름을 입력한 다음, Enter 하면 해당하는 데이터들이 C4,D4,...F4등의 셀에 차례로

나타나게 하려면 어떻게 해야 할까요?

VLOOKUP( )함수로 충분히 가능하지 않을까라고 생각하실 수도 있습니다. 하지만 그정도로 간단히 해결될 수 있는 문제가 아닙니다.

 

이와 같이 WorkSheet함수로는 해결하기 어려운 문제도 해굴할 수 있는 방법이 바로 VBA 또는 Macro 입니다.

 

먼저, 앞서 말씀드린 바와 같이 B4 셀에 이름을 입력하고 Enter 키를 치면 무언가를 실행하도록 작업에 들어갑니다.

프로젝트 탐색기를 열고, Worksheet오브젝트의 코드창을 살펴 보시면 아래와 같은 코드가 입력되어 있을 것입니다.

 

 Private Sub Worksheet_Change(ByVal Traget As Range)

     If Target.Address = "$B$4" Then

        동명이인검색 Target.Value

         Range("B4").Select

    End If

 End Sub

 

일단, 해당 시트에서 Worksheet오브젝트의 Change 이벤트 프로시저를 사용하여 Target(목표셀, 즉 이름을 입력할 셀)의 주소를

$B$4로 설정해 준 다음, 만약 Target의 주소(Address)값이 B4 이며느 [동명이인검색]이라는 제목의 모듈 프로시저를 실행하도록

정의하였습니다.

즉, B4 셀에 이름을 입력하고 Enter키를 치면 [동명이인검색]이라는 또다른 외부 프로시저(매크로)가 실행되는 것입니다.

 

모듈시트에서 [동명이인검색]이라는 모듈프로시저의 내용을 차분히 살펴 보시기 바라며 사용된 코드에 대해서는 특별히

설명드릴 부분이 없으므로 생략하도록 하고, 다만 아래의 부분에 대해서만 별도로 설명드리도록 하겠습니다.

 

 If WorksheetFunction.Countif([List], Range("B4")) = 0 Then

 

잘 아시는 바와 같이 Excel에서 사용하는 COUNTIF( )함수는 특정 범위내에서 사용자가 지정한 조건과 같은 값을 가진 셀의 개수를

돌려 줍니다. 이와 같이 VBA의 프로시저에서도 일반 Excel 함수를 불러와서 사용하는 경우가 있는데, 이 때 특정 함수를 불러 오는

방법으로 WorksheetFunction 속성을 사용합니다.(WorksheetFunction에 대한 상세한 내용은 [도움말]기능을 참조하시기 바랍니다.)

 

즉, WorksheetFunction.Countif([List], Range("B4"))의 의미는 Excel에서의 COUNTIF( )함수와 같이 List라고 [이름정의]된 특정

범위내에서 B4 셀의 값(Range("B4"))과 같은 값을 가진 셀의 개수를 구하게 됩니다.

 

따라서, 위 If 조건문, 즉 If WorksheetFunction.Countif([List], Range("B4")) = 0 Then 을 해석하자면 "만약에 COUNTIF( )함수로

List라는 범위내에서 B4 셀의 값과 같은 값을 가진 셀의 개수를 구한 값이 0이면 .." 이라는 조건문이 되겠죠.

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

업무자동화 맞춤제작

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