[VBA 제 51강] 조건에 맞는 모든자료 추려내기 썸네일 이미지
[VBA 제 51강] 조건에 맞는 모든자료 추려내기
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,305
즐겨찾기
[VBA 제 51강] 조건에 맞는 모든자료 추려내기를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 




[ 기초 강좌 ]

 

제 51 강

조건에 맞는 모든자료 추려내기

 

조건에 맞는 모든자료 추려내기

그 사용법을 알아봅니다.

이럴 때 필요해요

 

조건에 맞는 모든 자료를 추려낼때 사용할 수 있습니다.

이렇게 사용해요

먼저 "Source" Sheet 를 살펴 보시고 나서, 아래 ComboBox에서 적당한 직종을 선택해 보시기 바랍니다.

SourceSheet



 

 

예전에 소개해 드렸던 MATCH( ) 와 INDEX( ) 함수로는 해결하기 곤란한 문제를 역시 VBA를 사용하여 만들어 봤습니다.

 

아마, 실무에서도 응용할 부분이 적지 않을것으로 짐작 됩니다만, ComboBox에 [매크로 지정]으로 연결된

모듈시트의 프로시저를 잘 살펴 보시면 그다지 어려운 부분은 없을 것입니다.

 

사용된 코드에서의 핵심부분은 아래 For Each~Next 의 순환문입니다.

 

For Each rngCell In rngTarget

rngTarget 이라고 정의된 영역, 즉 Target으로 [이름정의]된 영역을 순환하며 아래의 If 조건문을 수행합니다.

 

 If rngCell = strList Then

순환하는 도중에, 만약 strList, 즉 ComboBox에서 선택된 항목과 일치하는 값의 셀이 나타 나면, 아래의 명령어를 실행하게 됩니다.

 

    With rngCell

      rngStart.Offset(r, 0) = Array(.Offset(0, -2), .Offset(0, -1), .Offset(0, 1))

    End With

 

위 내용은 Offset의 속성을 사용하여 구하고자 하는 데이터들을 각각 배열(Array)로 묶어,

변수 rngStart로부터 한칸씩 아래로(Offset(r, 0)) 내려 오면서 한꺼번에 뿌려 줍니다.

     r = r + 1

      End If

If 조건문을 종료하고, For Each 순환문 역시 끝냅니다.

   Next rngCell

 

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

업무자동화 맞춤제작

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