Максимальное значение в рабочем листе - PullRequest
1 голос
/ 16 февраля 2012

Нужна помощь в поиске максимального значения на листе,

Я пробовал с диапазоном:

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

За исключением того, что я не хочу, чтобы он остановился на B5, я хочу, чтобы он прошел весь рабочий лист.

Итак, я обнаружил, что «XFD1048576» символизирует последнюю ячейку листа:

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

Просто интересно, есть ли более элегантное решение, что-нибудь, чтобы заменить "XFD1048576", или просто написать лучший код.

1 Ответ

4 голосов
/ 16 февраля 2012

Почему бы не использовать свойство "UsedRange" ?

Ваш пример кода станет примерно таким:

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

Вы также можете использовать Свойство Cells - ActiveWorkbook.Worksheets("Sheet1").Cells для поиска в каждой ячейке, даже если она пуста.По этой причине я бы предпочел использовать UsedRange.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...