Text 如何更改我的VBA代码以根据文本或值而不仅仅是值的更改来更改行颜色?

Text 如何更改我的VBA代码以根据文本或值而不仅仅是值的更改来更改行颜色?,text,colors,excel,rows,vba,Text,Colors,Excel,Rows,Vba,我使用下面的VBA代码(由Vicky提供)在每次a列中的值更改时更改电子表格中行的颜色。唯一的问题是,如果遇到非值的内容(如“10000CO”),它将结束命令,从而不再更改行颜色,并显示错误消息。有没有办法操纵代码,使其在A列中的值或文本更改时更改颜色?[请注意,我使用的是Excel 2007] Sub colorize() Dim r As Long, val As Long, c As Long r = 4 val = ActiveSheet.Cells(r, 1).Value c =

我使用下面的VBA代码(由Vicky提供)在每次a列中的值更改时更改电子表格中行的颜色。唯一的问题是,如果遇到非值的内容(如“10000CO”),它将结束命令,从而不再更改行颜色,并显示错误消息。有没有办法操纵代码,使其在A列中的值或文本更改时更改颜色?[请注意,我使用的是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
Sub colorize()
变暗r为长,val为长,c为长
r=4
val=ActiveSheet.Cells(r,1).Value
c=19
对于r=4的ActiveSheet.Rows.Count
如果为空(ActiveSheet.Cells(r,1.Value),则
退出
如果结束
如果是ActiveSheet.Cells(r,1).Value val,则
如果c=19,则
c=20
其他的
c=19
如果结束
如果结束
ActiveSheet.Rows(r)。选择
有选择。内饰
.ColorIndex=c
.Pattern=xlSolid
以
val=ActiveSheet.Cells(r,1).Value
下一个
端接头

尝试将val的类型从Long更改为String