2011-03-07 62 views
6

我有类似VBA单元格地址()

sdMax = WorksheetFunction.Max(Range("D2", Cells(emptyRow, 4))) 

找到列d的最大数量

如何找到这个最大数量的位置?

+1

请允许我欢迎你们来的StackOverflow,并提醒三件事,我们通常在这里做的:1)当你得到帮助,尽量给它太**回答问题* *在您的专业领域2)['阅读常见问题](http://tinyurl.com/2vycnvr)3)当您看到良好的问答时,请将它们投票[使用灰色三角形](http:// i.imgur.com/kygEP.png),因为系统的可信度基于用户通过分享知识获得的声誉。另外请记住接受更好地解决您的问题的答案,如果有的话[按'checkmark sign'](http://i.imgur.com/uqJeW.png) – 2011-03-07 07:10:46

回答

12

定义为VBA用户定义的函数,返回地址作为字符串

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是一个列宽

这些功能可以用于纸张
例如

=AddressOfMax(C:C) 

或VBA

Dim r As Range 
Set r = AddressOfMax(Range("D2", Cells(emptyRow, 4))) 
相关问题