按值更改单元格颜色 - 值typin:手动和粘贴/克隆

时间:2017-01-24 14:26:07

标签: excel vba excel-vba cell

我在这个主题上解决了我的问题:If value will change, change few cells color

但现在我有了新问题。如果我输入数字"手动"在A栏中,一切都很好。但是,如果我想要粘贴/克隆值更多的单元格,我有错误Laufzeitfehler 13 ; Typen unverträglich

    Private Sub Worksheet_Change(ByVal Target As Range)

Dim LastRow As Long

LastRow = Cells(Rows.Count, "A").End(xlUp).Row

If Not Intersect(Target, Range("A1:A" & LastRow)) Is Nothing Then
    Select Case Target.Value
        Case "1" '<-- put the rest of your cases here
            Range("B" & Target.Row & ":H" & Target.Row).Interior.ColorIndex = 4  'green
            Range("I" & Target.Row & ":M" & Target.Row).Interior.ColorIndex = 15  'grau
        Case "2", "3" '<-- put the rest of your cases here
            Range("B" & Target.Row & ":D" & Target.Row & ",E" & Target.Row & ":G" & Target.Row).Interior.ColorIndex = 4  'green
            Range("H" & Target.Row & ":M" & Target.Row).Interior.ColorIndex = 15  'grau
        Case Else
            Range("B" & Target.Row & ":M" & Target.Row).Interior.ColorIndex = 0
    End Select
End If

End Sub

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的问题是你有     Select Case Target.Value并且你给出了一个多单元范围。 可能你会尝试类似的东西     Select Case Target.Cells(1).Value代替Select Case Target.Value并查看答案是否符合您的预期。

编辑: 您脚本中的Target.Row更改为Target.Rows