根据单元格值激活和取消激活命令按钮

时间:2015-04-15 22:14:05

标签: vba button

我比较新,但学得很快。我有一个单元格(Sheet8.Range(" E15")),它根据其他条件产生TRUE或FALSE(布尔值)。我的目标是当此单元格= TRUE时,按钮处于活动状态。如果单元格值更改为FALSE,我希望按钮处于非活动状态。谢谢你的帮助!

Private Sub Worksheet_Change(ByVal Target As Range)

Dim KeyCells As Range
Set KeyCells = Sheet8.Range("E15")

If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then

      If Sheet8.Range("E15").Value = True Then CommandButton1.Enabled = True
      If Sheet8.Range("E15").Value = False Then CommandButton1.Enabled = False

End If

End Sub

1 个答案:

答案 0 :(得分:0)

这里的问题似乎是单元格值实际上没有变化,这不会触发宏。

如果将宏从Worksheet_Change更改为Selection_Change,则在每次用户操作后都会触发此宏。这应该可以解决您的问题。

使用KeyCells.Value代替工作表,并将Button名称更改为更多描述。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim KeyCells As Range
Set KeyCells = Sheet8.Range("E15")

If KeyCells.Value = TRUE Then 
     CommandButton1.Enabled = True
Else
     CommandButton1.Enabled = False
End If

End Sub