Максимальное значение в рабочем листе

Обновить

November 2018

Просмотры

1.7k раз

1

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

Я попытался с диапазоном:

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

Только я не хочу останавливаться на В5, я хочу, чтобы пройти через весь рабочий лист.

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

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

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

1 ответы

4

Why not use the "UsedRange" property?

Your code example would then become something like:

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

You can also use the Cells property - ActiveWorkbook.Worksheets("Sheet1").Cells to search every cell, even if it's empty. For this reason, I'd prefer to use UsedRange.