엑셀 VBA 종속 콤보 박스
우리는 의존 콤보 상자가 포함 된 사용자 정의 폼을 만들어 엑셀 VBA에서 프로그램을보고 아래. 사용자 정의 폼 우리는 다음과 같은 모양을 만들려고하고있다 :
드롭 다운 목록에서 사용자 선택 동물. 그 결과, 사용자는 제 드롭 다운 목록에서 동물을 선택할 수있다.
드롭 다운 목록에서 사용자를 선택 스포츠. 그 결과, 사용자는 제 드롭 다운 목록에서 스포츠를 선택할 수있다.
이 정의 폼을 만들려면 다음 단계를 실행합니다.
-
Visual Basic 편집기. 프로젝트 탐색기가 보이지 않으면보기 프로젝트 탐색기를 클릭합니다.
삽입, 사용자 정의 폼을 클릭합니다. 도구 상자가 자동으로 나타나지 않으면,보기, 도구 상자를 클릭합니다. 화면은 다음과 같이 설정해야합니다.
및 명령 단추 (왼쪽 첫번째 오른쪽에서 두 번째에) 콤보 상자를 추가합니다. 이것이 완료되면, 그 결과는 앞서 도시 정의 폼의 화상과 일치한다. 예를 들어, 도구 상자에서 콤보 상자를 클릭하여 콤보 상자 컨트롤을 만듭니다.
다음으로, 당신은 사용자 정의 폼에 콤보 상자를 드래그 할 수 있습니다.
-
이름과 컨트롤의 캡션을 변경할 수 있습니다. 이름은 엑셀 VBA 코드에 사용됩니다. 자막은 화면에 나타나는 것들이다. 이 컨트롤의 이름을 변경하는 것이 좋습니다,하지만 우리는이 예제에서 몇 가지 컨트롤을 가지고 있기 때문에 여기에 필요하지 않습니다. 사용자 정의 폼과 명령 단추의 캡션을 변경하려면,보기, 속성 창을 클릭하고 각 컨트롤을 클릭합니다.
-
사용자 정의 폼을 보여 워크 시트에 명령 단추를 배치하고 다음 코드 줄을 추가하려면 :
Private Sub CommandButton1_Click() UserForm1.Show End Sub
우리는 지금 하위 UserForm_Initialize을 만들 것입니다. 사용자 정의 폼에 대한 표시 방법을 사용하면,이 서브가 자동으로 실행됩니다.
-
Visual Basic 편집기.
프로젝트 탐색기 7. 오른쪽 UserForm1을 클릭 한 다음 코드보기를 클릭하십시오.
왼쪽 드롭 다운 목록에서 사용자 정의 폼을 선택 8.. 오른쪽 드롭 다운 목록에서 초기화를 선택합니다.
다음 코드 줄을 추가 9. :
Private Sub UserForm_Initialize() With ComboBox1 .AddItem "Animals" .AddItem "Sports" .AddItem "Food" End With End Sub
설명 :이 코드 라인이 첫 번째 콤보 상자를 채 웁니다.
우리는 지금 사용자 정의 폼의 첫 번째 부분을 만들었습니다. 이미 깔끔한 보이지만 우리가 첫 번째 콤보 상자에서 항목을 선택하면, 아무것도 아직 일어나지 않습니다.
(10)에서 프로젝트 탐색기, UserForm1을 두 번 클릭합니다.
11 번 첫 번째 콤보 상자를 클릭합니다.
-
다음 코드 줄을 추가합니다
Private Sub ComboBox1_Change() Dim index As Integer index = ComboBox1.ListIndex ComboBox2.Clear Select Case index Case Is = 0 With ComboBox2 .AddItem "Dog" .AddItem "Cat" .AddItem "Horse" End With Case Is = 1 With ComboBox2 .AddItem "Tennis" .AddItem "Swimming" .AddItem "Basketball" End With Case Is = 2 With ComboBox2 .AddItem "Pancakes" .AddItem "Pizza" .AddItem "Chinese" End With End Select End Sub
설명 : 엑셀 VBA 두 번째 콤보 상자가 작성되어야하는 항목으로 볼 수있는 이후의 각 Case 문을 테스트 할 변수 인덱스의 값을 사용합니다. 우리의`링크를 통해 이동 / VBA – 예 – 선택의 경우 [선택 케이스]`
선택 케이스 구조에 대한 자세한 학습 프로그램.
-
더블 가져 오기 버튼을 클릭합니다.
-
다음 코드 줄을 추가
Private Sub CommandButton1_Click() Range("A1").Value = ComboBox2.Value End Sub
결과 :