根据单元格值激活和停用命令按钮

Activating and deactivating a command button based on a cell value

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

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

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

使用 KeyCells.Value 而不是 sheet 并将按钮名称更改为更具描述性的名称。

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