Значение дубликатов в матрице VBA

314
Alex Silva

У меня есть этот код, чтобы получить наименьшее число, которое можно найти и его столбец в каждой строке матрицы и записать его в ячейки (столбец, где он был найден, строка)

Это матрица в начале
Матрица в начале

Я выполняю код, и вот что происходит
Код выполняется

Код работает как задумано, он всегда находит наименьшее число в строке, делает его оранжевым и копирует нужный аппарат.

Теперь проблема в том, как я могу заставить программу проверять столбец «Итого» каждый раз, когда в одной строке более одного наименьшего числа, делать оранжевый и копировать число, в котором строка имеет наименьшее «Итого»

Следует сделать это с матрицей
Что следует делать

Измените оранжевое число в строке 5 и скопируйте это число в ячейки («K3»)

Это код, который у меня есть сейчас

Dim tarefas, maxcolunaspossiveis, coluna As Long tarefas = 4 maqs = 5 maxcolunaspossiveis = (maqs + 4) + tarefas + 1 Cells(1, maxcolunaspossiveis) = "Total"  For i = 2 To tarefas + 1  For q = 2 To maqs + 1 Cells(q, maxcolunaspossiveis) = Application.Sum(Range(Cells(q, maxcolunaspossiveis - tarefas), Cells(q, maxcolunaspossiveis - 1))) Next q  menor = WorksheetFunction.Small(Range(Cells(i, 2), Cells(i, maqs + 1)), 1) coluna = Application.Match(menor, Range(Cells(i, 2), Cells(i, maqs + 1)), 0)  Cells(i, coluna + 1).Interior.ColorIndex = 45 Cells(coluna + 1, Cells(coluna + 1, maxcolunaspossiveis).End(xlToLeft).Column + 1) = menor  Next i  For q = 2 To maqs + 1 Cells(q, maxcolunaspossiveis) = Application.Sum(Range(Cells(q, maxcolunaspossiveis - tarefas), Cells(q, maxcolunaspossiveis - 1))) Next q   End Sub 

Я знаю, что у меня может быть что-то вроде этого, чтобы получить число наименьшего числа, которое существует в этом ряду, но я не знаю, что поместить в остальную часть

Dim iVal As Integer iVal = Application.WorksheetFunction.CountIf(Range(Cells(i, 2), Cells(i, maqs + 1)), menor)  If iVal = 1 Then ............What i currently have ..... Else ............What do i do here?......... 

Кто-нибудь может мне помочь?

0

0 ответов на вопрос

Похожие вопросы