2013-07-16 2 views
3

VBA에서 ComboBox의 요소를 만들고, 배치하고 채우려고합니다. 나는 실종 된 것을 이해하지 못하지만 어떻게해야 할지를 이해할 수는 없다. 나는 내가 달성하고자하는 것은 (실패로 즉, 누군가가 올바른 방향으로 날 포인트? 어떻게 든 그것을 가져올 수 있습니다. Dim someComboBox As MSForms.ComboBox을 쓸 수 있습니까?프로그래밍 방식으로 VBA (Excel)에 ComboBox 추가

을 내 API에 MSForms이없는 할 때 그 사용자는 새로운 양식 (등 선택 상자, RadioButtons를) 여러 항목으로 작성됩니다 버튼을 클릭하고, 따라서 나는 프로그래밍 방식으로이 작업을 수행 할 수

답변

11

다음과 같은 코드에 의존 할 수 있습니다. 당신이 필요로하는

Set curCombo = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(1, 1).Left, Top:=Cells(2, 1).Top, Width:=100, Height:=20) 
With curCombo 
     .ControlFormat.DropDownLines = 2 
     .ControlFormat.AddItem "Item 1", 1 
     .ControlFormat.AddItem "item 2", 2 
     .Name = "myCombo" 
     .OnAction = "myCombo_Change" 
End With 
+1

Perfect! 고마워 (다시). –

+0

환영합니다 (이번에도). – varocarbas

0

Microsoft Forms 2.0 Object Library에 대한 참조입니다. 이 작업을 수행하는 쉬운 방법은 프로젝트에 사용자 정의 폼을 삽입하는 것입니다.

또는 도구/참조 대화 상자에서이 참조를 찾으십시오.

프로그래밍 방식으로 사용자 정의 폼, 콤보 상자 등을 만들 수 있지만 사용자 정의 폼을 삽입하고 필요할 때까지 숨겨 두는 것이 더 쉽습니다. 필요한 경우 새 컨트롤을 프로그래밍 방식으로 추가 할 수 있습니다.

양식 개체 라이브러리를 사용하여 완전히 새로운 양식 및 컨트롤을 만들 수 없습니다. 응용 프로그램 확장 성을위한 Microsoft Visual Basic 라이브러리가 필요합니다. This link은 오래되었지만 여전히 관련이 있습니다.

관련 문제