Excel VBA复制粘贴到单元格中不会触发worksheet_change

时间:2017-04-28 03:26:18

标签: excel excel-vba vba

每次有人更改单元格B8时,我都会尝试将日期格式化为固定格式,手动输入数据似乎会触发Macro-checkdateformat但是当复制粘贴到单元格时不会触发。

以下是我的代码。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)


If Target.Address = "$B$8" Then

Call Checkdateformat

End If

End Sub

1 个答案:

答案 0 :(得分:3)

目标可以不止一个单元格。你只需要检查B8是否是其中之一。要查看单元格是否位于更大的单元格组(或仅一个其他单元格)中,请使用“相交”。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)


    If not intersect(target, range("B8")) is nothing then
        'B8 is part of Target
         on error goto safe_exit
         application.enableevents = false
         Call Checkdateformat
    End If

    safe_exit:
         application.enableevents = true

End Sub