2012-02-16 34 views
1

需要一些幫助,在工作表中找到最大值,最大值

我試着用範圍:

Dim maxNumber As Double 
maxNumber = Application.WorksheetFunction.Max(Range("A1:B5")) 

除了我不希望它停止在B5,我希望它遍歷整個Worksheet。

所以我發現,「XFD1048576」象徵着一個工作表的最後一個單元格:

Dim maxNumber As Double 
maxNumber = Application.WorksheetFunction.Max(Range("A1:XFD1048576")) 

剛纔不知道是否有一個更優雅的解決方案,任何東西取代「XFD1048576」,或簡單地寫更好的代碼。

回答

4

爲什麼不使用"UsedRange"屬性?然後

你的代碼示例將成爲類似:

Dim maxNumber As Double 
maxNumber = Application.WorksheetFunction.Max(ActiveWorkbook.Worksheets("Sheet1").UsedRange) 

您還可以使用Cells屬性 - ActiveWorkbook.Worksheets("Sheet1").Cells搜索每一個細胞,即使它是空的。出於這個原因,我寧願使用UsedRange。

+0

感謝您的幫助! – 2012-02-16 13:44:30

+0

會建議添加一個條件來測試沒有數字值 - esle 0將返回空白工作表或僅包含文本的工作表 – brettdj 2012-02-17 03:07:53