2009-08-08 6 views
0

차트에있는 ComboBox (시트에 포함 된 차트가 아닌 독립 실행 형 차트)에 "비용"및 "소득"이라는 두 개의 값을 초기화하고 싶습니다.Excel 2007 ComboBox를 차트에서 초기화하십시오.

리얼리언리스트 ('= { "비용", "수입"}'또는 '= ("비용", "소득")')를 입력하려고 시도했지만이 중 하나를 시도하면 " 유효한".

:

나는 또한 VBA로 차트가 활성화 된 때마다 컨트롤을 초기화 시도

(. 장소는 내가 포맷> 제어> 제어 컨트롤을 마우스 오른쪽 버튼 클릭 "입력 범위"필드를 통해 액세스 된 리터럴를 입력 시도)

Private Sub Chart_Activate() 

    Dim expensesIncomeDropDown As Object 

    Set expensesIncomeDropDown = Me.Shapes("Drop Down 1") 'Error here 
    expensesIncomeDropDown.DropDownLines = 2 
    expensesIncomeDropDown.AddItem "Expenses" 
    expensesIncomeDropDown.AddItem "Income" 

End Sub 

("Drop Down 1"은 컨트롤 수정 기록을 할 때 매크로 기록에 사용되는 인덱스이며 "DropDown1"도 시도했습니다.) 그러나 표시된 줄은 "Run-time error '-2147024809 (80070057) ': 지정한 이름의 항목을 찾을 수 없습니다. " VBA IDE의 지역 창을 사용하여 Me (차트)의 Shapes 속성을 검사하면 컬렉션이 비어 있음을 나타냅니다. Shape 컬렉션이 Activate 이벤트에 대해 초기화되지 않았다고 가정하면서 Chart_BeforeDoubleClick 이벤트에서 컨트롤에 액세스하려고했지만 동일한 결과가있었습니다.

기타는 same problem이 발생합니다. 감사합니다.

답변

0

오른쪽 클릭 메뉴에 대한 설명에서 ActiveX 컨트롤 대신 폼 컨트롤을 사용하고 있습니다.

ActiveX 콤보 상자 에서처럼 드롭 다운에 값을 입력 할 수 있다고 생각하지 않습니다. 당신은 수동으로 또는 VBA를 통해, 드롭 다운을 목록의 값을 포함하는 입력 범위를 제공해야합니다 : 사용자가 선택한 값을 검색 할 수 있도록 또한 셀 연결을 설정해야

Dim shp As Shape 

Set shp = chtTest.Shapes(1) 
If shp.Type = msoFormControl Then 
    If shp.FormControlType = xlDropDown Then 
     shp.ControlFormat.ListFillRange = ThisWorkbook.Names("rngDDValues") 
    End If 
End If 

.

ActiveX 컨트롤을 사용하는 것이 좋지만 불행히도 차트 시트에 추가 할 수있는 것처럼 보이지는 않습니다.

관련 문제