Страницы: 1
RSS
Номер строки с максимальным значением из диапазона, VBA
 
Здравствуйте.
Подскажите, пож-та, как получить номер строки с максимальным значением в диапазоне K24:K29 в переменную "nstr"
В дальнейшем диапазон будет задаваться другой в пределах столбца K.
Нужен код VBA.
Спасибо.
Изменено: asesja - 02.08.2020 16:52:45
 
Код
Sub Номер_строки()
Dim Max As Double, nStr As Long
Dim Rng As Range, rCell As Range
    
    Set Rng = Range("K24:K29")
    Max = Application.Max(Rng)
    For Each rCell In Rng
        If rCell.Value = Max Then
            nStr = rCell.Row
            Exit For
        End If
    Next rCell
    MsgBox "Номер строки с максимальным числом: " & nStr, vbInformation, ""
End Sub
Изменено: New - 02.08.2020 17:28:53
 
New, Спасибо. То, что нужно.
 
Код
Sub www()
With Range("K24:K29")
MsgBox .Find(WorksheetFunction.Max(.Cells)).Row
End With
End Sub
 
Написал аналогичное - Карен опередил )
Цикл не нужен.
 
Вот любите вы всё усложнять) А новички потом под себя не могут переделать и не знают, что такое циклы )
P.S. Одно дело укоротить для себя, другое для людей, которые только начинают учиться макросам )
P.P.S. Кстати, тот же Find - я уверен тот же цикл, только написанный на языке СИ, просто обёрнутый в функцию
Изменено: New - 02.08.2020 19:06:51
 
Цитата
New написал:
не знают, что такое циклы
Но тогда они не узнают ничего про Find )
А это быстрее.
 
Оба варианта работают. Спасибо.
Отличный форум и люди отзывчивые.
Всегда здесь нахожу наилучшие решения вопросов в области программирования Excel.
Страницы: 1
Наверх