VBA Max

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 do intervalo de números fornecido. 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 temos o luxo de usar o 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.

Tenho uma lista de itens e seu desempenho de vendas mensal desses itens, conforme mostrado a seguir.

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

Aplicando MAX no excel, podemos encontrar isso em alguns segundos.

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

O código abaixo executará 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