下面显示了我在Excel中保存的数据集示例,并希望编写一个将Col1与Col2进行比较的if语句。
Col1 Col2
(2) (6)
(10) (7)
如果Col1大于Col2,我想突出显示Col1红色,如果Col1小于Col2,我想突出显示绿色。
我已经在VBA中尝试了以下if语句。
For lngI = 1 To 2
If Worksheets("Front End").Cells(lngI + 11, 4).Value > Worksheets("Front End").Cells(lngI + 11, 6).Value Then
Worksheets("Front End").Cells(lngI + 11, 4).Interior.ColorIndex = 3
Worksheets("Front End").Cells(lngI + 11, 4).Font.Color = 2
ElseIf Worksheets("Front End").Cells(lngI + 11, 4).Value < Worksheets("Front End").Cells(lngI + 11, 6).Value Then
Worksheets("Front End").Cells(lngI + 11, 4).Interior.ColorIndex = 50
Worksheets("Front End").Cells(lngI + 11, 4).Font.Color = 2
End If
Next lngI
它不是很强大,因为它并不总是有效,因为涉及到括号。如您所见,VBA中需要代码。代码中显示的数字是一些示例,其中一些单元格在我当前的代码中,我不介意是否更改它们以帮助解释。
任何帮助都会很棒。感谢。
答案 0 :(得分:2)
如果你稍微简化一下,可能会达到这样的目的:
使用以下内容:
Option Explicit
Public Sub TestMe()
Dim lngI As Long
Dim lngA As Long
Dim lngB As Long
For lngI = 1 To 3
With Worksheets(1)
lngA = Replace(Replace(.Cells(lngI, 1), "(", ""), ")", "")
lngB = Replace(Replace(.Cells(lngI, 2), "(", ""), ")", "")
If lngA > lngB Then
.Cells(lngI, 1).Interior.ColorIndex = 3
.Cells(lngI, 1).Font.Color = 2
ElseIf lngA < lngB Then
.Cells(lngI, 1).Interior.ColorIndex = 50
.Cells(lngI, 1).Font.Color = 2
End If
End With
Next lngI
End Sub