1个回答
展开全部
你试试吧,假定数据从第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
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
更多追问追答
追问
这个只是返回最大那值!我要的是最大值中是5个数!如1,2,3,4,5,6,7,8,9要返回9,8,7,6,5,4
追答
刚没看清楚,重新修改了一下,等于的情况我也想想,结果有点不对,我再看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询