Eu tenho esse código para obter o menor número que pode encontrar e sua coluna em cada linha da matriz e escrevê-lo nas células (coluna onde foi encontrado, linha)
Esta é a matriz no início da Matriz no início
Eu executo o código e é isso que acontece no Código executado
O código funciona como previsto, ele sempre encontra o menor número em uma linha, fica laranja e copia a máquina certa.
O problema agora é como posso ter o programa verificar a coluna "Total" cada vez que há mais de um menor número na mesma linha e fazer laranja e copiar o número da linha wicht tem o menor "Total"
Isso deve ser feito na matriz O que deve ser feito
Altere o número laranja na linha 5 e copie esse número para células ("K3")
Este é o código que tenho agora
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
Eu sei que posso ter algo assim para obter o número de menor número que existe nessa linha Mas eu não sei o que colocar na outra parte
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?.........
Alguém pode me ajudar?
Tags microsoft-excel algorithm vba