Excel에서 동적인 계층 목록 상자를 어떻게 생성합니까?
Excel에서 계층 유효성 검사 드롭다운 목록을 만드는 방법을 알고 있을 수 있습니다. 하지만 Excel에서 동적인 계층 목록 상자를 어떻게 생성합니까? 이 문서에서는 VBA 방법을 소개하여 이를 해결합니다.
VBA 코드로 동적인 계층 목록 상자 만들기
아래 스크린샷에 표시된 것처럼 음료 열의 고유한 값을 포함하는 부모 목록 상자를 생성하고, 부모 목록 상자의 선택에 따라 두 번째 목록 상자에 모든 해당 값을 표시해야 합니다. 다음 VBA 코드는 이를 달성하는 데 도움이 됩니다. 아래 단계를 따르세요.
1. 먼저 음료 열에서 모든 고유한 값을 추출해야 합니다. 빈 셀을 선택하고 배열 수식 =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") 을 수식 표시줄에 입력한 후 Ctrl + Shift + Enter 키를 누릅니다. 그런 다음 채우기 핸들을 드래그하여 모든 고유한 값을 가져옵니다. 스크린샷 보기:
참고: 수식에서 $A$2:$A$11은 고유한 값을 추출할 범위입니다. J1은 수식이 있는 셀 위의 셀입니다.
팁: 수식이 너무 복잡해서 기억하기 어렵다면 Kutools for Excel의 중복 및 고유 셀 선택 기능을 사용하면 열에서 모든 고유한 값을 빠르게 추출할 수 있습니다.
고유한 값을 추출할 열을 선택하세요. 그런 다음 Kutools > 선택 > 중복 및 고유 셀 선택을 클릭하여 기능을 활성화합니다. 중복 및 고유 셀 선택 대화상자에서 모든 고유 (첫 번째 중복 포함) 옵션을 선택하고 확인 버튼을 클릭합니다. 그러면 열의 모든 고유한 값이 선택됩니다. 복사하여 새 위치에 붙여넣으세요. 스크린샷 보기:
Kutools for Excel: 200개 이상의 유용한 Excel 추가 기능이 있으며, 60일 동안 제한 없이 무료로 사용해볼 수 있습니다. 지금 다운로드하고 무료로 사용해 보세요!
2. 개발 도구 > 삽입 > 목록 상자 (ActiveX 컨트롤)을 클릭하여 두 개의 목록 상자를 각각 삽입합니다. 스크린샷 보기:
3. 부모 목록 상자를 마우스 오른쪽 버튼으로 클릭하고 상황 메뉴에서 속성을 선택합니다. 속성 대화상자에서 (이름) 필드를 Drink 또는 원하는 이름으로 변경하고, 추출된 고유한 값을 포함하는 셀 범위를 ListFillRange 필드에 입력한 후 대화상자를 닫습니다.
4. 3단계를 반복하여 속성 대화상자에서 두 번째 목록 상자의 (이름) 필드를 Item으로 변경합니다.
5. 시트 탭을 마우스 오른쪽 버튼으로 클릭하고 마우스 오른쪽 클릭 메뉴에서 코드 보기 선택합니다. 그런 다음 아래 VBA 코드를 코드 창에 복사합니다. 스크린샷 보기:
VBA 코드: Excel에서 동적인 계층 목록 상자 만들기
Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
Dim I, xRows As Long
Dim xRg As Range
Dim xRegStr As String
Application.ScreenUpdating = False
xRegStr = Me.Drink.Text
Set xRg = Range("A2:A11")
xRows = xRg.Rows.Count
If xRegStr <> xPreStr Then
Me.Item.Clear
'Me.OtherListBoxName.Clear
Set xRg = xRg(1)
For I = 1 To xRows
If xRg.Offset(I - 1).Value = xRegStr Then
Me.Item.AddItem xRg.Offset(I - 1, 1).Value
'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
End If
Next
xPreStr = xRegStr
End If
Application.ScreenUpdating = True
End Sub
참고: 코드에서 Drink와 Item은 두 목록 상자의 이름입니다. 필요에 따라 자신의 이름으로 변경하세요.
6. Alt + Q 키를 눌러 Microsoft Visual Basic for Applications 창을 닫습니다.
개발 도구 > 디자인 모드를 클릭하여 디자인 모드를 비활성화합니다.
이제부터 부모 목록 상자에서 커피와 같은 음료를 선택하면 모든 커피 항목이 두 번째 목록 상자에 표시됩니다. 차나 와인을 선택하면 두 번째 목록 상자에 차나 와인 항목만 표시됩니다. 스크린샷 보기:
관련 기사:
- Excel에서 종속 드롭다운 목록 셀을 선택 변경 후 지우는 방법은 무엇입니까?
- Excel에서 종속 계층 드롭다운 목록을 만드는 방법은 무엇입니까?
- Excel 드롭다운 목록에서 값을 선택할 때 다른 셀을 자동으로 채우려면 어떻게 해야 합니까?
- Excel에서 드롭다운 목록 달력을 만드는 방법은 무엇입니까?
- Excel에서 ActiveX 목록 상자의 선택 항목을 저장하거나 유지하려면 어떻게 해야 합니까?
최고의 오피스 생산성 도구
? | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신… |
인기 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 가시성 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 및 시트 관리자 | 자동 텍스트 라이브러리 (Auto Text) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ... | |
최고의 15가지 도구 모음: 12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형 (간트 차트, ...) | 40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...) | 19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구 (단어로 변환하기, 통화 변환, ...) | 7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...) | ... 그리고 더 많은 기능들 |
Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다. 가장 필요한 기능을 얻으려면 여기를 클릭하세요...
Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
- 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
- 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!