[VBA 제 35강] DropDownBox(TransposeAllItem) 썸네일 이미지
[VBA 제 35강] DropDownBox(TransposeAllItem)
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회2,027
즐겨찾기
[VBA 제 35강] DropDownBox(TransposeAllItem)를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 




[ 기초 강좌 ]

 

제 35 강

DropDownBox(TransposeAllItem)

 

Excel의 생명이라고 할 수 있는 DropDownBox(TransposeAllItem)

그 사용법을 알아봅니다.

이럴 때 필요해요

 

입력된 데이터의 목록만들어 선택하였을 때 선택한 데이터만 표시되게 할 때 필요합니다.

이렇게 사용해요

아래의 그림처럼 요일을 선택했을 때 , 그요일만 표시가 되도록 해보겠습니다.

 

 

 

Worksheet오브젝트를 열어서 아래와 같은 내용의 Change이벤트 프로시저를 작성하세요.

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngSelect As Range
    Dim cmbCombo As DropDown

먼저, 작업에 필요한 변수(rngSelect, cmbCombo 등)들을 선언해 줍니다.

간혹, "변수가 프로그램 중에 사용될 것을 어떻게 미리 알고 항상 프로시저 앞 부분에 모두 다 선언합니까?"

…  라는 질문을 하시는 분이 계시더군요.

그것은, 필요한 모든 변수를 미리 다 생각해서 적어 주는 것이 아닙니다.

코드를 짜기 전에 어떤 순서를 따를 것인가를 생각하여 최소한의 변수들만 도입부분에 선언해 줍니다.

그리고, 나머지는 프로그래밍을 하면서 하나씩 추가를 한 다음, 코드가 완성되고 나서 순서를 고쳐 주는 것입니다.

 

 On Error Resume Next
    Set cmbCombo = Sheets("Sheet1").DropDowns("MyCombo")
    Set rngSelect = Intersect(Target, [ItemArea])

먼저, 마우스의 오른쪽으로 위 드롭다운 박스를 눌러 NameBox 창에 나타 나는 정의된 이름(MyCombo)을

참조하시기 바라며, 아울러 위 Intersect메서드의 참조범위로 지정된 [ItemArea] 는 D8에서 J8까지 이름정의 되었습니다.

 

 If Not rngSelect Is Nothing Then
     With cmbCombo
       .RemoveAllItems

If 조건문을 사용하여 변수 rngSelect의 영역, 즉 ItemArea로 [이름정의]된 영역의 셀 값에 변동이 있으면

먼저, 변수 cmbCombo로 정의된 드롭다운 박스의 목록들을 모두 지웁니다.(RemoveAllItems)

 

 .AddItem Application.Transpose([ItemArea])

그 다음엔, 해당 드롭다운 박스에 Excel의 Transpose함수를 사용하여 ItemArea영역의 데이터를 세로의

형태로 바꾸어 다시 채워 넣습니다.(AddItem)

 

 .Listlndex

끝으로, 다시 채워 진 목록들 중 항상 첫번 째 목록이 나타 나도록 조치해 줍니다.

 

  End With
       End If

With 문과 If 문을 모두 종료합니다.

 

 End Sub

 

 

 

참고로, 이와 같이 [양식]도구모음으로 사용된 드롭다운박스 등의 개체들은 VBA 또는 Macro 등으로 해당 개체의 속성을

지정하거나 변경할 수 있습니다.

 

 

 

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

업무자동화 맞춤제작

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