我正在使用多个条件处理此代码几个星期,但它一直没有工作。我也检查了多个网站,但没有用。所以基本上,我的宏看着多列。如果它在Col B上显示“RAIL”并且在Col C上显示“France”或“Germany”且col o显示等于或大于77天,则Col O上的特定单元将变为红色。
提前感谢所有的帮助或建议!
到目前为止,这是我的代码,运行时没有任何颜色。
'颜色代码,如果它显示ff结果 'Col B:RAIL,Col C:法国或德国,Col O:IF => 77天
Dim rng As Range
Dim rcell As Range
Dim lr As Long
lr = Range("B" & Rows.count).End(xlUp).row
Set rng = Range("B1:B" & lr)
For Each rcell In rng.Cells
If rcell.Value = "RAIL" Then
If rcell.Offset(0, 2).Value = "FRANCE" Or rcell.Offset(0, 1).Value = "GERMANY" Then
If rcell.Offset(0, 15).Value >= DateAdd("d", 77, Date) Then
rcell.Offset(0, 13).Interior.ColorIndex = 3
End If
End If
End If
Next rcell
答案 0 :(得分:0)
问题解决了!感谢友好的开发人员!显然,模块中的默认比较选项是二进制,因此可能是拼写问题。所以他建议设置比较文本选项。
多少学习经历!多谢你们!
Option Compare Text
Sub Test()
Dim B As Range
For Each B In Range("B1", Range("B" & Rows.Count).End(xlUp))
With Range("O" & B.Row)
'No color by default
.Interior.ColorIndex = xlColorIndexNone
If B.Value = "RAIL" Then
Select Case Range("C" & B.Row)
Case "FRANCE", "GERMANY"
If .Value >= 77 Then .Interior.ColorIndex = 3
End Select
End If
End With
Next
End Sub