- Задача по поиску ордеров
- Вопрос по Аллигатору
- Как выбрать (определить) максимальное из нескольких значений?
можно и без VBA
У меня таблица реал тайм обновляется, на VBA только все работает, нашел формулу;
maxval = Application.WorksheetFunction.Max(Range("F:F"))
но хотелось бы и второй и третий максимум легко находить, может знаешь как это сделать?
maxval = Application.WorksheetFunction.Max2(Range("F:F"))???ну так а в чем проблема?
формулы у меня написаны на любое к-во максимумов ;)
У меня таблица реал тайм обновляется, на VBA только все работает
после обновления в VBA дописать Calculate и лист пересчитает формулы с новыми данными
но можно и тупо перебирать в цикле Cells(R,C).Value по всему диапазону и запоминать нужные значения
У меня таблица реал тайм обновляется, на VBA только все работает, нашел формулу;
maxval = Application.WorksheetFunction.Max(Range("F:F"))
но хотелось бы и второй и третий максимум легко находить, может знаешь как это сделать?
maxval = Application.WorksheetFunction.Max2(Range("F:F"))???Sub Функция() Максимальный 9 End Sub Sub Максимальный(ПослМакс As Double) Dim Диапазон As Object Dim МаксЧисло As Double ' Поиск максимального числа в выделенном диапазоне МаксЧисло = -1000 ' гарантированно минимальное число For Each Диапазон In Selection If Диапазон.Value > МаксЧисло And Диапазон.Value <> ПослМакс Then МаксЧисло = Диапазон.Value End If Next Диапазон End Sub
Как вариант на скорую руку
Функция Максимальный() ищет максимальное число в выделенном диапазоне, но максимальное число не больше ПослМакс. Функция Функция() вызывает функцию Максимальный(), а в качестве параметра указывает последнее найденное максимальное число. Так можно последовательно находить все "последние" максимальные
k=1 '2,3,4...
Application.WorksheetFunction.Large(Range("F:F"),k)
НАИБОЛЬШИЙ
Возвращает k-ое по величине значение из множества данных.
Эта функция позволяет выбрать значение по его относительному местоположению.
Например, функцию НАИБОЛЬШИЙ можно использовать для определения наилучшего, второго или третьего результатов тестирования в баллах.
ну так а в чем проблема?
формулы у меня написаны на любое к-во максимумов ;)
после обновления в VBA дописать Calculate и лист пересчитает формулы с новыми данными
но можно и тупо перебирать в цикле Cells(R,C).Value по всему диапазону и запоминать нужные значения
У тебя формулу в ячейках записаны при реал тайм идет обновление ячеек и если в этот момент идет расчет твоей формулы то эксель виснет, поэтому в VBA через циклы все делают чтобы точно не во время обновления таблицы расчет был, но можно как то проще все найти или для второго и третьего максимума есть готовый код.
k=1 '2,3,4...
Application.WorksheetFunction.Large(Range("F:F"),k)
НАИБОЛЬШИЙ
Возвращает k-ое по величине значение из множества данных.
Эта функция
позволяет выбрать значение по его относительному местоположению.
Например, функцию НАИБОЛЬШИЙ можно использовать для определения наилучшего, второго или третьего результатов тестирования в баллах.
извини, для наибольших Large, а для наименьшего что будет?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования