我需要从在由条件经由Developer菜单插入一些Excel 2007中组合框选择控制值禁止用户。现在我仅管理到显示/隐藏控制。

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

是否可以启用/禁用它呢?

有帮助吗?

解决方案

这不会导致“典型”启用/禁用的控制,如果你正在使用的ActiveX组合框,而不是一个窗体ComboBox,你会得到,但它会阻止用户访问它:

Sub ChangeState()

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

End Sub

其他提示

我曾经有与MS访问。

的同样问题

状态(启用/禁用)是呈现不同(背景颜色=灰色)

我来解决这个问题的方法是做两件事:

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

我发现什么组合框控制可以通过

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

但不幸的是它不会被变灰以视觉显示其状态。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top