excel vba 求一列数中最大的5个数


求一列数中最大的5个数要用VBA不在公式
你试试吧,假定数据从第1行第1列开始,有个等于情况就没考虑了,你可以自己再想想肆拦备
Sub Col_max()
Dim Rowmax As Long, i As Integer, j As Integer
Dim Arr() As Variant '声明数组
Dim C_Max(1 To 5) As Double
Rowmax = ActiveSheet.Range("a65536").End(xlUp).Row '求第一列最大行数
ReDim Arr(1 To Rowmax) '动态
For i = 1 To Rowmax '假定数据从第1行开始,循环给数组赋值
Arr(i) = Cells(i, 1).Value
Next
C_Max(1) = WorksheetFunction.Max(Arr) '使用工作表MAX函衡拦数求最大值
For j = 2 To 5
C_Max(j) = WorksheetFunction.Match(C_Max(j - 1), Range("a1:a" & Rowmax), 1) '裂毁使用MATCH函数逐个求值
Next
End Sub