对刷新的数据单元格更改运行excel宏

对刷新的数据单元格更改运行excel宏,excel,vba,Excel,Vba,单元格X5=如果(J5>1,1,0),当J5的数据刷新将X5自动更改为1时,我需要运行宏,而不是手动输入!(尝试了所有方法,没有任何效果,只是不了解它)假设这是Sheet1,在Sheet1工作表中生成以下代码: Dim X5 As Variant Private Sub Worksheet_Change(ByVal Target As Range) If Range("X5").Value = 1 And X5 <> 1 Then MsgBox ("Macr

单元格X5=如果(J5>1,1,0),当J5的数据刷新将X5自动更改为1时,我需要运行宏,而不是手动输入!(尝试了所有方法,没有任何效果,只是不了解它)

假设这是Sheet1,在Sheet1工作表中生成以下代码:

Dim X5 As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("X5").Value = 1 And X5 <> 1 Then
        MsgBox ("Macro")
    End If
    X5 = Range("X5").Value
End Sub
Dim X5作为变型
私有子工作表_更改(ByVal目标作为范围)
如果范围(“X5”).值=1和X5 1,则
MsgBox(“宏”)
如果结束
X5=范围(“X5”).值
端接头
我们检查新值是否为1,旧值是否为1,然后运行宏,最后将新值存储为旧值。如果希望仅在编辑J5时发生,请执行以下操作:

Dim X5 As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$5" Then
        If Range("X5").Value = 1 And X5 <> 1 Then
            MsgBox ("Macro")
        End If
        X5 = Range("X5").Value
    End If
End Sub
Dim X5作为变型
私有子工作表_更改(ByVal目标作为范围)
如果Target.Address=“$J$5”,则
如果范围(“X5”).值=1和X5 1,则
MsgBox(“宏”)
如果结束
X5=范围(“X5”).值
如果结束
端接头

在你的帖子中包括你尝试过的和不起作用的内容。如果你有错误,也包括它。Thanx这就成功了。