gpt4 book ai didi

vba - 在不同工作表中更改触发宏

转载 作者:行者123 更新时间:2023-12-04 22:32:08 24 4
gpt4 key购买 nike

抱歉任何不正确的术语,这是我第一次尝试编写宏。我目前正在运行以下代码:

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

这是从其他代码和谷歌拼凑而成的。它有效,但只有当我移出工作表时,我认为这是由第一行驱动的。

我实际上希望它在“Project_selection”表中的单元格 D4(代码所在的一个单独的表)发生更改时激活 - 有人知道我会怎么做吗?我已经看到对 worksheet_change 的引用,但我不明白如何定义目标/范围以获得适当的引用。

希望这是有道理的,并提前感谢!

最佳答案

如果您将以下代码放在工作表 (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

关于vba - 在不同工作表中更改触发宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51898692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com