Как изменить мой код VBA, чтобы изменить цвет строки на основе изменения текста или значения, а не только значения? - PullRequest
0 голосов
/ 22 декабря 2010

Я использую следующий код VBA (предоставленный Vicky), чтобы изменять цвет строк в электронной таблице каждый раз, когда изменяется значение в столбце A.Единственная проблема состоит в том, что, если он сталкивается с чем-то, что не является значением (например, «10000CO»), он завершает команду, таким образом, больше не изменяет цвета строки и выдает сообщение об ошибке.Есть ли способ манипулировать кодом, чтобы он менял цвет при изменении значения ИЛИ текста в столбце А?[Обратите внимание, что я использую Excel 2007]

Sub colorize()

Dim r As Long, val As Long, c As Long

r = 4
val = ActiveSheet.Cells(r, 1).Value
c = 19

For r = 4 To ActiveSheet.Rows.Count
If IsEmpty(ActiveSheet.Cells(r, 1).Value) Then
    Exit For
End If

If ActiveSheet.Cells(r, 1).Value <> val Then
    If c = 19 Then
         c = 20
    Else
        c = 19
    End If
End If

ActiveSheet.Rows(r).Select
With Selection.Interior
    .ColorIndex = c
    .Pattern = xlSolid
End With

val = ActiveSheet.Cells(r, 1).Value
Next

End Sub

1 Ответ

0 голосов
/ 22 декабря 2010

Попробуйте изменить тип val с Long на String

...