Как получить небольшое значение в заданном диапазоне c - PullRequest
0 голосов
/ 02 апреля 2020

enter image description here

Я хочу получить 1-е, 2-е, 3-е, ... nth ... небольшие значения в даты , которые находятся на столбец D . но была указана c категория , которая показана в столбце E . Я написал код, чтобы получить конкретный c вызов диапазона p. и это работает. это означает, что когда категория C выбирает только значения C в диапазоне. когда он равен F, он получает только значения F.

Теперь я хочу получить номер строки 1-го маленького значения. но категория C дает правильное маленькое значение. но это становится категорией F, это снова дало предыдущие результаты. Может ли кто-нибудь помочь мне с этой проблемой .?

dim p as range, c as range, i as integer, irow as long
dim ary(1 to 5) as varient 

ary(1) = "C"
ary(2) = "F"
ary(3) = "B"
ary(4) = "PC"
ary(5) = "BC"

For i = 1 To UBound(ary)
cat = ary(i)
Set p = Nothing
Set c = Nothing
    For Each c In Range("E: E")
        If c.Value = cat Then
            If p Is Nothing Then
                Set p = c.Offset()
            Else
            Set p = Union(p, c)
            End If
        End If
    Next c

irow = Application.WorksheetFunction.Match(WorksheetFunction.Small(p.Offset(, -1), 1), Range("D:D"), 0)
Cells(4, 12) = Cells(irow, 5)
next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...