对任何不正确的术语表示歉意,这是我第一次尝试对宏进行编码。我目前正在运行以下代码:
Private Sub Worksheet_Deactivate()
'Alpha Show / Hide
If Sheets("Project_selection").Range("D4") = Range("C2") Then
Sheet3.EnableCalculation = True
ElseIf Sheets("Project_selection").Range("D4") = "All" Then
Sheet3.EnableCalculation = True
Else
Sheet3.EnableCalculation = False
End If
End Sub
已从其他代码和Google拼凑而成。它有效,但是仅当我移出工作表时(我认为这是第一行驱动的)。
我实际上希望它在“ Project_selection”表(代码所在的表的另一表)中的Cell D4更改时激活-有人知道我会怎么做吗?我已经看到了对worksheet_change的引用,但是我不明白如何定义目标/范围以获取适当的引用。
希望如此,并预先感谢!
答案 0 :(得分:2)
如果要在工作表(Project_selection)下放置以下代码,则每次单元格D4中发生更改时都会触发该事件:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet: Set ws = Sheets("Project_selection")
If Target.Address = "$D$4" Then
If ws.Range("D4") = ws.Range("C2") Then
Sheet3.EnableCalculation = True
ElseIf ws.Range("D4") = "All" Then
Sheet3.EnableCalculation = True
Else
Sheet3.EnableCalculation = False
End If
End If
End Sub