Vba 基于单元格值激活和停用命令按钮

Vba 基于单元格值激活和停用命令按钮,vba,button,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 App

我比较新,但学习速度很快。我有一个单元格(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

这里的问题看起来是单元格值实际上没有改变,这不会触发宏

如果将宏从工作表更改为选择更改,则每次用户操作后都会触发此宏。这应该能解决你的问题

使用KeyCells.Value而不是工作表,并将按钮名称更改为更详细的描述

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