Encontre o valor máximo para cada coluna no intervalo
A função a seguir retornará o valor máximo em cada coluna em um intervalo:
Função Max_Each_Column (Data_Range As Range) As Variant Dim TempArray () As Double, i As Long Se Data_Range Is Nothing Then Sair da Função com Data_Range ReDim TempArray (1 To .Columns.Count) Para i = 1 To .Columns.Count TempArray (i ) = Application.Max (.Columns (i)) Next End com Max_Each_Column = TempArray End Function
Podemos usar uma sub-rotina como a seguinte para exibir os resultados:
Private Sub CommandButton1_Click () Dim Answer As Variant Dim No_of_Cols As Integer Dim i As Integer No_of_Cols = Range ("B5: G27"). Columns.Count ReDim Answer (No_of_Cols) Answer = Max_Each_Column (Sheets ("Sheet1"). Range (" B5: g27 ")) Para i = 1 Para No_of_Cols MsgBox Resposta (i) Próximo i End Sub
Então:
Retornará 990.907, 992, 976, 988 e 873 para cada uma das colunas acima.
[AGRADECIMENTOS ESPECIAIS A MIKE RICKSON POR RESOLVER AS FINANÇAS DE ARRAYS DENTRO DA UDF]