我在这个主题上解决了我的问题: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
如何解决这个问题?
答案 0 :(得分:0)
你的问题是你有
Select Case Target.Value
并且你给出了一个多单元范围。
可能你会尝试类似的东西
Select Case Target.Cells(1).Value
代替Select Case Target.Value
并查看答案是否符合您的预期。
编辑:
您脚本中的Target.Row
更改为Target.Rows
。