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