DateDiff根据细胞变化而定

时间:2017-09-18 18:26:21

标签: excel excel-vba vba

我正在尝试让excel计算给定两个日期范围时的天数。宏可以单独工作,但是当包含日期的单元格发生变化时,我无法运行宏。这是我目前的代码:

Public sub Worksheet_Change(ByVal Target As Range)
    If Target.Address="$C$32" Then Sheet1.pdates
    End If
End Sub

Public sub pdates()
    Dim pdates as Integer
    Dim pdates2 as Integer
        pdates=DateDiff("d",[D32],[F32])
        pdates2=DateDiff("d",[H32],[J32])
        [L32]=pdates+pdates2
End Sub

当我推送运行时,它会询问我是否要运行Sheet1.pstubs,但不允许运行Worksheet_Change代码。我想我可能会错误地使用(ByVal Target as Range)。有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

我不确定原因,但以下更改使其能够正常工作:

原件:

If Target.Address="$C$32" then Sheet1.pdates
End if

变化:

If Target.Address="$C$32" then
Sheet1.pdates
End if