我在Excel中有一个范围如下:
| Symptom | Number|
1 | back pain | 7 |
2 | neck pain | 583 |
3 | shoulder pain | 5098 |
4 | eye pain | 23467 |
5 | back pain | 23 |
6 | neck pain | 65756 |
7 | shoulder pain | 234 |
8 | eye pain | 98 |
我想根据症状中的值将Number中的值相互比较。例如,症状出现在症状两次,所以我希望23与7比较。在确定哪个更大时,我希望症状的第二个实例为红色或绿色,如果其数量大于第一个实例,则为红色,绿色,如果它更小。
最初我尝试编写具有2个范围的代码,一个包含每个症状的第一个实例,另一个范围包含每个症状的第二个实例。我尝试在For Each循环中编写For Each循环,但不允许这样做,所以我不知道如何继续。我的代码:
Sub RankColor()
Dim SelecRng As Range
Dim OrgNumOld As Integer
Dim SearchTerm As String
Set SelecRngOld = Application.Selection
Set SelecRngOld = Application.InputBox("Range", SelecRng, Type:=8)
Set SelecRngNew = Application.Selection
Set SelecRngNew = Application.InputBox("Range", SelecRng, Type:=8)
For Each cell In SelecRngOld
Set SearchTerm = cell.Value
OrgNumOld = Cells(cell.Row, 2).Value
For Each cell in SelecRngNew
If Cells(cell.Row, 2) > OrgNumOld Then 'Compares the
Cells(cell.Row, 2).Color = RGB(256, 0, 0)
ElseIf Cells(cell.Row, 2) > OrgNumOld Then
Cells(cell.Row, 2).Color = RGB(0, 256, 0)
End If
End If
Next
Next
End Sub