VBA – Localizar o Valor Máximo de Cada Coluna em um Intervalo
Localizar o Valor Máximo de Cada Coluna no Intervalo
A função a seguir retornará o valor máximo em cada coluna de um intervalo:
Function Maximo_Cada_Coluna(Intervalo As Range) As Variant
Dim TempMatriz() As Double, i As Long
If Intervalo Is Nothing Then Exit Function
With Intervalo
ReDim TempMatriz(1 To .Columns.Count)
For i = 1 To .Columns.Count
TempMatriz(i) = Application.Max(.Columns(i))
Next
End With
Maximo_Cada_Coluna = TempMatriz
End Function
Podemos usar uma sub-rotina como a seguinte para exibir os resultados:
Private Sub CommandButton1_Click()
Dim Resposta As Variant
Dim Nr_Colunas As Integer
Dim i As Integer
Nr_Colunas = Range("B5:G27").Columns.Count
ReDim Resposta(Nr_Colunas)
Resposta = Maximo_Cada_Coluna(Sheets("Planilha1").Range("B5:G27"))
For i = 1 To Nr_Colunas
MsgBox Resposta(i)
Next i
End Sub
Assim
Retornará 990,907, 992, 976 ,988 e 873 para cada uma das colunas acima
[AGRADECIMENTOS ESPECIAIS A MIKE RICKSON POR RESOLVER OS DETALHES DE MATRIZES DENTRO DE UDFS]
Codificação VBA facilitada
Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!