因為有時我會在同欄位(例如C欄)
的C2:C1000 找出最大值
但有時又想改成只找C400:C800內的最大值
本來是打算直接設定變數,然後再找出最大值後,再用.find的方法去找出該值的所在列
可是如果如我上述的條件,每次要找的範圍區間都不同時,且每次條件找得的最大值的所在列索引編號都要記錄時,
若條件過多時,如:
1、找C2:C1000 找出最大值
2、找C2:C100 最大值
3、找C2:C200 最大值
4、找C300:C500 最大值
......
如此一來會變成變數要設定很多
以便在條件裡找得該值後,再用.find去出最大值的所在列編號
再用變數去指定所在列..
感覺這樣很多此一舉..
畢竟EXCEL的max函數都已經直找出範圍區間的最大值了..
怎麼就不知道要如何順帶帶出該值的所在列?
還是說其實是有方法的,麻煩請諸位大神幫幫忙。再次感謝不盡
還有祝各位身體健康萬褔.^^.
MaverickRay wrote:
因為有時我會在同欄位...(恕刪)
max函數應該是沒有找到該列的功能,如果把找到該列的功能做成Function或許不用這麼多變數?
Sub Main()
MsgBox FindMAX_Row(2, 1000) '查找範圍C2:C1000
MsgBox FindMAX_Row(2, 200) '查找範圍C2:C200
End Sub
Function FindMAX_Row(ByVal Row_Start As Integer, ByVal Row_End As Integer)
Dim dataArea As Range
Set dataArea = Range("C" & Row_Start & ":C" & Row_End)
Set cell = dataArea.Find(WorksheetFunction.Max(dataArea))
FindMAX_Row = cell.Address
End Function