Поиск максимального значения в диапазоне
В процессе работы с большими объемами данных часто возникает необходимость быстрого поиска максимального значения определенного диапазона (либо всего рабочего листа). Например, если в таблице хранится информация о торговой выручке за каждый день в течение года, то, чтобы найти максимальную дневную выручку вручную, потребуется слишком много времени и усилий. Для автоматизации данного процесса можно применить макрос, код которого приведен в листинге 2.20.
Листинг 2.20. Поиск максимального значения
Sub FindMaxValue()
On Error Goto NoCell
If Selection.Count > 1 Then
' Поиск максимального значения в выделенных ячейках
Selection.Find(Application.Max(Selection)).Select
Else
' Поиск максимального значения во всех ячейках листа
ActiveSheet.Cells.Find(Application.Max(ActiveSheet.Cells)).Select
End If
Exit Sub
NoCell:
MsgBox «Максимальное значение не найдено»
End Sub
После запуска данного макроса будет выделена ячейка, содержащая максимальное значение. Если выделен диапазон, поиск осуществляется только в нем; если же диапазон не выделен, то поиск ведется по всему рабочему листу. Если максимальное значение не обнаружено, то по окончании поиска на экране отобразится окно с сообщением Максимальное значение не найдено (текст этого сообщения можно корректировать по своему усмотрению путем внесения соответствующих изменений в код макроса).