Книга: Excel. Трюки и эффекты
Поиск максимального значения на всех листах книги
Поиск максимального значения на всех листах книги
В данном подразделе мы рассмотрим, каким образом можно быстро найти максимальное значение указанной ячейки среди всех листов текущей рабочей книги.
Следует отметить, что для решения данной задачи можно воспользоваться штатными средствами программы, а именно – функцией МАКС. Например, с помощью формулы =МАКС (Лист2: Лист7! A3) осуществляется поиск максимального значения ячейки A3 среди рабочих листов с Л ист2 по Л ист7 включительно. Однако данный способ имеет следующий недостаток: при добавлении в книгу новых листов (после Лист7) формулу придется соответствующим образом корректировать.
Поэтому для решения подобных задач целесообразно создать и применять пользовательскую функцию, код которой приведен в листинге 2.70.
Листинг 2.70. Поиск максимального значения
Function dhMaxInBook(cell As Range) As Double
Dim sheet As Worksheet
Dim dblMax As Double
Dim dblResult As Double
Dim fFirst As Boolean
fFirst = True
' Расчет максимальных значений во всех листах рабочей книги _
и выбор наибольшего из них
For Each sheet In cell.Parent.Parent.Worksheets
' Расчет максимального значения на листе
dblResult = Application.WorksheetFunction.Max( _
sheet.Range(cell.Address))
If fFirst Then
' Найдено первое значение – его не с чем сравнивать
dblMax = dblResult
fFirst = False
End If
' Выбираем большее из dblMax и dblResult
If dblResult > dblMax Then
dblMax = dblResult
End If
Next sheet
' Возврат результата
dhMaxInBook = dblMax
End Function
Данная функция имеет один аргумент – адрес ячейки, максимальное значение которой следует выбрать из всех рабочих листов текущей книги. При добавлении (удалении) рабочих листов никаких корректировок кода либо формулы выполнять не требуется – в любом случае обрабатываются все доступные рабочие листы текущей книги.
- Объединение данных диапазона
- Объединение данных с учетом форматов
- Эксперименты с датой
- Выбор из текста всех чисел
- Прописная буква только в начале текста
- Перевод чисел в «деньги»
- Подсчет количества повторов искомого текста
- Суммирование данных только видимых ячеек
- При суммировании – курсор внутри диапазона
- Начисление процентов в зависимости от суммы
- Еще о расчете процентов
- Сводный пример расчета комиссионного вознаграждения
- Подсчет количества ячеек, содержащих указанные значения
- Подсчет количества видимых ячеек в диапазоне
- Поиск ближайшего понедельника
- Подсчет количества полных лет
- Проверка, была ли сохранена рабочая книга
- Расчет средневзвешенного значения
- Преобразование номера месяца в его название
- Расчет суммы первых значений диапазона
- Поиск последней непустой ячейки диапазона
- Поиск последней непустой ячейки столбца
- Поиск последней непустой ячейки строки
- Подсчет количества ячеек в диапазоне, содержащих указанные значения
- Англоязычный текст – заглавными буквами
- Отображение текста «задом наперед»
- Поиск максимального значения на всех листах книги
- Использование относительных ссылок
- Определение типа данных ячейки
- Выделение из текста произвольного элемента
- Генератор случайных чисел
- Случайные числа – на основании диапазона
- Выражения в значениях по умолчанию для доменов
- Значения переменных по умолчанию
- Сохранение рабочей книги с именем, представляющим собой текущую дату
- 13.3.4. Поиск и замена текста
- 1. Пустые значения (Empty-значения)
- 2. Неопределенные значения (Null-значения)
- 3. Null-значения и общее правило вычисления выражений
- 4. Null-значения и логические операции
- 5. Null-значения и проверка условий
- 3. Схемы отношений. Именованные значения кортежей
- 3. Значения по умолчанию
- Фильтры и поиск