抱歉,标题-我不知道该怎么说。
我得到一个报告,该报告将人定位到目的地,并计算两者之间的距离,然后将其导出到Excel。在X轴上是日期,在Y轴上是人。然后该单元格包含数据,如下所示:
目的地:EXAMPLE
纬度:示例
经度:EXAMPLE
距起点的距离:35英里
(然后是更多信息)。
我想使用一些代码,根据距起点的距离,以不同的颜色突出显示单元格。例如,如果<40英里,绿色,40-60英里,黄色,> 60英里,红色。
如果我有特定的文本,我知道如何隔离文本字符串,但是鉴于我想查找从1英里到几百英里的任何内容,因此我不确定如何编写此代码。英里数也不是单元格中唯一的数字,因此我无法隔离数字并仅搜索那些数字。
这是我到目前为止所拥有的:
Sub Highlight_cells
Dim lastRow As Long
lastRow = Range("A1").End(xlDown).Row
With Range("B2:CA" &lastRow).FormatConditions.Add(xlTextString, TextOperator:=xlContains, String:="*miles*")
With .Interior
.Color = RGB(102 255 153)
End With
End With
End Sub
但这显然可以突出显示“ miles”一词。
有没有人有什么建议?我在正确的轨道上吗?
提前谢谢了。
请尝试以下代码:
Sub Highlight_cells()
Dim rng As Range, sh As Worksheet
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition
Dim lastRow As Long
Set sh = ActiveSheet 'Please put here your sheet
lastRow = sh.Range("A" & sh.Rows.count).End(xlUp).Row
Set rng = sh.Range("B2:CA" & lastRow)
rng.FormatConditions.Delete
'<40 miles, green, 40-60 miles, yellow, >60 miles, red.
Set cond1 = rng.FormatConditions.Add(xlExpression, Formula1:="=VALUE(MID(B2,FIND("" miles"",B2,1)-3,3))<40")
Set cond2 = rng.FormatConditions.Add(xlExpression, _
Formula1:="=AND(VALUE(MID(B2,FIND("" miles"",B2,1)-3,3))>=40,VALUE(MID(B2,FIND("" miles"",B2,1)-3,3))<=60)")
Set cond3 = rng.FormatConditions.Add(xlExpression, Formula1:="=VALUE(MID(B2,FIND("" miles"",B2,1)-3,3))>60")
With cond1
.Interior.Color = vbGreen
.Font.Italic = True
.SetFirstPriority
End With
With cond2
.Interior.Color = vbYellow
End With
With cond3
.Font.Color = vbWhite
.Font.Bold = True
.Interior.Color = vbRed
End With
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句