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