types不匹配复制/粘贴到多个单元格后?

我试图做一个小的Excelmacros,自动执行单元更新:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "N/A" Then Target.Interior.Color = RGB(205, 201, 201) End If If Target.Value = "Pass" Then Target.Interior.Color = RGB(0, 255, 0) End If If Target.Value = "Fail" Then Target.Interior.Color = RGB(255, 0, 0) End If End Sub 

但是,当我尝试复制和粘贴任何单元格跨多个其他单元格,我得到这个错误:

运行时错误“13”:types不匹配。

为什么是这样的,我该如何解决?

因为在这种情况下, Target有多个单元格。 试试这个代码

我已经禁用了Events因为在使用Worksheet_Change时是一种很好的做法 – 即使单元格颜色更改不会重新触发事件

 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng1 As Range With Application .EnableEvents = False .ScreenUpdating = False End With For Each rng1 In Target.Cells Select Case rng1.Value Case "N/A" Target.Interior.Color = RGB(205, 201, 201) Case "Pass" Target.Interior.Color = RGB(0, 255, 0) Case "Fail" Target.Interior.Color = RGB(255, 0, 0) End Select Next With Application .EnableEvents = True .ScreenUpdating = True End With End Sub