gpt4 book ai didi

VBA 在单元格值更改时触发宏

转载 作者:行者123 更新时间:2023-12-02 09:29:02 31 4
gpt4 key购买 nike

这应该很简单。当单元格的值发生变化时,我想触发一些 VBA 代码。单元格 (D3) 是根据其他两个单元格 =B3*C3 计算得出的。我尝试了两种方法:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Row = 3 Then
MsgBox "There was a change in cell D3"
End If
End Sub

由于单元格是一个计算,因此当值更改时不会触发此操作,因为计算保持不变。我也尝试过:

Private Sub Worksheet_Calculate()
MsgBox "There was a calculation"
End Sub

但是我在工作表上有多个计算,并且它会触发多次。有没有办法可以识别计算事件中哪个计算发生了变化?或者还有其他方法可以跟踪 D3 何时发生变化?

最佳答案

你能尝试这样的事情吗?将公式更改为 =D3AlertOnChange(B3*C3)

Private D3OldVal As Variant

Public Function D3AlertOnChange(val)
If val <> D3OldVal Then MsgBox "Value changed!"
D3OldVal = val
D3AlertOnChange = val
End Function

关于VBA 在单元格值更改时触发宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18500608/

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