Минимальное значение VBA и таблица - PullRequest
0 голосов
/ 25 октября 2018

У меня есть лист с 2 таблицами.Я хочу найти и вернуть ячейку столбца 1 с минимальными протеже.Например, мой код вернул бы Фил, Леви или Шона, Монтейн при первом запуске.(тогда моя таблица добавит +1 к одному из двух - это уже установлено в Excel).и т.д ....

Список тренеров Протеже Фил, Леви 7 Шон, Монтейн 7 Виктор, Шатле 8

Я написал код, но, к сожалению, не могу это сделать случайно.Есть мысли?

Код:

Dim Coach As String
Dim ws As Worksheet, t As ListObject, r As Long

    For Each t In MyWorksheet.ListObjects
        Select Case t.Name
            Case "Table1", "Table3", "Table4", "Table6", "Table8", "Table10", "Table12", "Table14", "Table16"
                'do nothing
            Case Else
                'Coach = Application.WorksheetFunction.Min(t.ListColumns(2).Range)--> could use that ?
                For r = 1 To t.DataBodyRange.Rows.Count
                For r = t.DataBodyRange.Rows.Count To 1 Step -1
                    If t.DataBodyRange(r, 2) <= t.DataBodyRange(r + 1, 2) Then
                    Coach = t.DataBodyRange(r , 1)
                    End If
                Next r
        End Select
    Next t

1 Ответ

0 голосов
/ 25 октября 2018

Я думаю, что ваш метод нуждается в переменной для наименьшего числа, найденного при сравнении каждой строки.

                p = 9999
                For r = 1 To t.DataBodyRange.Rows.Count
                    If t.DataBodyRange(r, 2) <= p Then
                        p = t.DataBodyRange(r, 2)
                        Coach = t.DataBodyRange(r, 1)
                    End If
                Next r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...