我有一个小问题,希望您能帮助我。我的联系人值列表以及它们之间的几个空行。现在,我需要为每个值给出一个等级。 例如,我的值是5、7和10。它们的排名分别为1(5),2(7)和3(10)。 在与5相同的行中,等级1应该写在另一列中。
我有一个解决方案的主意,但这似乎并不实用: -浏览列表并将所有值存储在数组中 -排序数组(以某种方式) -再次遍历每一行,如果找到数组中的第一个值,则将1写入等级 -遍历每一行并在找到第二个值的地方写2,将2列为等级 -继续数组中的每个元素
这似乎不是解决我问题的明智或快速方法。 另外,我还需要弄清楚如何对数组进行排序。
我阅读了有关“排名”方法的信息,但我不确定如何使用它。
Dim RankingArray As Variant
Dim a As Integer
Dim i As Integer
Dim j As Integer
Dim x As Integer
a = 0
x = 0
ReDim RankingArray(a) As String
For i = 1 to LastRow
RankingArray(a) = Cells(i,5).value
a = a + 1
ReDim Preserve ArrDoneME(a) As String
Next i
'Sort Array magically
a = 0
For j = LBound(RankingArray) To UBound(RankingArray)
For i = 1 to LastRow
If RankingArray(j) = Cells(i,5).value
x = x + 1
cells(i,4).value = x
End if
Next i
Next j