Max()的VBA单元格地址
我有类似的东西
sdMax = WorksheetFunction.Max(Range("D2", Cells(emptyRow, 4)))
find列D的最大数量
我如何find这个最大数量的位置?
在vba中定义为用户定义的函数,将地址作为string返回
Function AddressOfMax(rng As Range) As String AddressOfMax = WorksheetFunction.Index(rng, WorksheetFunction.Match(WorksheetFunction.Max(rng), rng, 0)).Address End Function
或者返回一个范围参考
Function AddressOfMax(rng As Range) As Range Set AddressOfMax = rng.Cells(WorksheetFunction.Match(WorksheetFunction.Max(rng), rng, 0)) End Function
这些函数假设rng是一列宽
这些function可以在工作表中使用
例如
=AddressOfMax(C:C)
或在vba中
例如
Dim r As Range Set r = AddressOfMax(Range("D2", Cells(emptyRow, 4)))