2009-09-18 5 views
0

개발자 메뉴를 통해 조건부로 삽입 된 일부 Excel 2007 combobox 컨트롤에서 사용자가 값을 선택하지 못하게해야합니다. 이제는 컨트롤 만 표시/숨기기를 관리했습니다.Excel 2007 combobox 사용/사용 안 함

ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> "" 

대신 활성화/비활성화 할 수 있습니까?

답변

2

이 당신이 양식 콤보보다는 액티브 콤보 상자를 사용한다면 당신이 얻을 것이다 장애인/사용 가능 "전형적인"컨트롤을 초래하지 않지만, 그것을 액세스 사용자를 방지하지 :

Sub ChangeState() 

    Dim shp As Shape 
    Set shp = ActiveWorkbook.Worksheets("summary").Shapes("months") 
    shp.ControlFormat.Enabled = Not shp.ControlFormat.Enabled 

End Sub 
0

은 내가 콤보 상자 컨트롤이

ActiveWorkbook.Worksheets("summary").DropDowns("months").Enabled = year <> "" 

비활성화 할 수 있지만 시각적 상태를 보여 불행하게도이 회색으로 표시되지 않습니다 것을 발견했다.

1

이전에는 MS Access에서 같은 문제가있었습니다.

Dim enabled As Boolean 
enabled = year <> "" 

ActiveWorkbook.Worksheets("Sheet1").Shapes(1).Enabled = enabled 

If enabled Then 
    ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbGrey 
Else 
    ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbWheat 
End If 
+0

나는 믿습니다 Shape 객체하지 않는 :

주 (비활성화/활성화는) 나는이 문제를 가져 오는 데 사용하는 방법이 두 가지를 모두 수행하는 것이 었습니다

프리젠 테이션 (배경 색상 = 회색)에 다른 Excel에서 Enabled 속성을 사용하므로 Shapes (1) .ControlFormat.Enabled를 사용해야합니다. 감사! –