2011-03-07 64 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))) 
相關問題