Função VBA Max - Como encontrar o máximo usando o Max no Excel VBA?

Max, como o nome sugere, é usado para descobrir o valor máximo de um determinado conjunto de dados ou uma matriz, esta é uma função de planilha, então é usada com o método de planilha como função de planilha, há uma limitação para este método como este A função aceita uma matriz como argumento, só pode haver 30 valores na matriz.

Função Excel VBA Max

Temos várias funções numéricas no excel. Podemos contar valores numéricos no intervalo, podemos somar e podemos encontrar o valor mínimo e também o valor máximo do lote. Para encontrar o valor máximo do lote, temos uma função excel chamada MAX, que retornará o valor máximo da faixa de números fornecida. No VBA, não temos nenhuma função interna chamada “MAX” para obter o número máximo. Veremos como usar esta função Excel VBA Max.

Exemplo de função máxima no Excel VBA

Infelizmente, não podemos nos dar ao luxo de usar MAX como a função embutida do VBA, mas podemos acessar essa função como parte da classe Worksheet Function.

Agora, olhe para o código abaixo.

Código:

Sub MAX_Example1 () Dim a As Integer Dim b As Integer Dim c As Integer Dim Result As Integer a = 50 b = 25 c = 60 Result = WorksheetFunction.Max (a, b, c) MsgBox Result End Sub

No exemplo acima, declarei três variáveis ​​para armazenar o número.

Dim a As Integer  Dim b As Integer  Dim c As Integer

Eu declarei mais uma variável para mostrar os resultados.

Dim Result As Integer.

Para as três primeiras variáveis, atribuí valores como 50, 25 e 60, respectivamente.

a = 50  b = 25  c = 60

Na próxima linha, apliquei o MAX como uma classe de função de planilha VBA para armazenar o resultado na variável “Resultado”.

Resultado = WorksheetFunction.Max (a, b, c)

Por fim, estou mostrando o valor na caixa de mensagem no VBA. Resultado de MsgBox

Agora irei executar este código usando F5 ou manualmente e ver qual é o resultado na caixa de mensagem.

Portanto, o resultado é 60.

De todos os números fornecidos, ou seja, 50, 25 e 60, o número máximo é 60.

Exemplo avançado de Max no Excel VBA

Os loops são muito importantes no VBA para percorrer todas as células e chegar ao resultado. Veremos como combinar VBA MAX com loops para chegar ao valor máximo da lista de números.

Eu tenho uma lista de itens e seu desempenho mensal de vendas desses itens, conforme mostrado abaixo.

Agora, para cada item, quero saber qual é o número máximo de venda em 4 meses, conforme mostrado na imagem.

Aplicando o MAX ao Excel, podemos encontrar isso em alguns segundos.

Agora veremos como encontrar o valor máximo usando o código VBA.

O código abaixo irá realizar a tarefa de encontrar o número máximo para cada item.

Código:

Sub MAX_Example2 () Dim k As Integer For k = 2 To 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("A" & k & ":" & "E" & k)) Next k End Sub

Isso identificará o número máximo facilmente.

Agora execute o código manualmente ou pressione a tecla F5 e veja o resultado conforme mostrado abaixo.

Para obter o nome do mês dos valores máximos, use o código abaixo.

Código:

Sub MAX_Example2 () Dim k As Integer For k = 2 To 9 Cells (k, 7) .Value = WorksheetFunction.Max (Range ("B" & k & ":" & "E" & k)) Células (k, 8) .Value = WorksheetFunction.Index (Range ("B1: E1"), WorksheetFunction.Match _ (Células (k, 7) .Value, Range ("B" & k & ":" & "E" & k) )) Próximo k End Sub

Com base no valor fornecido pela função VBA max, a função INDEX e a função MATCH retornarão o mês associado na próxima linha.

Coisas para lembrar

  • Se o número duplicado estiver lá, ele mostrará apenas um número que vier primeiro.
  • Esta é a fórmula oposta da função MIN no Excel.
  • MAX não é uma função VBA. É uma função embutida no Excel, portanto, usando a classe de função de planilha.

Você pode baixar este modelo do Excel aqui - modelo de função VBA Max.

Artigos interessantes...