保持单元格格式不变

我有这个代码:

With .Cells(i, 4) If .Value > 0.8 Then .Interior.Color = RGB(237, 67, 55) '<-- Red color .Font.Color = vbWhite ElseIf .Value > 0.6 Then .Interior.Color = RGB(255, 190, 0) '<-- Amber Colour .Font.Color = vbWhite ElseIf .Value2 = "---" Then .Interior.Color = .Interior.Color Else .Interior.Color = RGB(50, 205, 50) '<-- Green color .Font.Color = vbWhite End If End With 

工作表已被格式化为默认情况下交替行的颜色,但挂起的单元格的值内部单元格的颜色需要更改悬而未决的单元格的值,但一些单元格没有数字数据,只是"---" 。 在这种情况下,我希望原始格式与代码运行之前保持原样。

基本上,如果单元格包含"---" ,不要指定任何其他内部颜色,但保持已分配的颜色。

我testing了这个,似乎在我的testing数据上工作,出于某种原因,excel将“—”视为大于0.8的值,所以首先移动“—”的检查将会停止这个操作。

 With .Cells(i, 4) If .Value = "---" Then .Interior.Color = .Interior.Color ElseIf .Value > 0.8 Then .Interior.Color = RGB(237, 67, 55) '<-- Red color .Font.Color = vbWhite ElseIf .Value > 0.6 Then .Interior.Color = RGB(255, 190, 0) '<-- Amber Colour .Font.Color = vbWhite Else .Interior.Color = RGB(50, 205, 50) '<-- Green color .Font.Color = vbWhite End If End With