除了一个问题,我有以下代码。 它识别H列中的值,并突出显示该行H列中不包含40或更多数字的行。 但是,下面的代码实际上是查找第一个数字为4或更大,突出显示以数字1,2开头的任何行或作为第H列中的第一个数字。因此,它突出显示列H值的行是100。
Sub color40()
Sheets("40+").Select
Lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Lastrow
If Worksheets("40+").Cells(i, 8).Value < "40" Then
Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150)
End If
Next i
End Sub
答案 0 :(得分:1)
“40”是文本,40是数字。当您在引号中包装数字时,它不会正常评估数字,它会将它们计算为字符串。试试这个:
Sub color40()
Sheets("40+").Select
Lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Lastrow
If Cells(i, 8).Value < 40 Then
Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150)
End If
Next i
End Sub
答案 1 :(得分:0)
如果您只想评估1位数,可以使用LEFT
功能进行评估。
语法:
LEFT( text, [number_of_characters] )
示例:
If LEFT(Worksheets("40+").Cells(i, 8).Value, 1) < 4 Then
Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150)
End If
请记住更改您需要评估的值。