1
resposta

O meu não está funcionando

    `Function Minha_Maximo(pIntervalo As Range) As Variant

aux_Retorno = 0

For Each cecula In pIntervalo

    If celula.Value > aux_Retorno Then
        aux_Retorno = celula.Value
    End If

Next

Minha_Maximo = aux_Retorno

End Function`

1 resposta

Olá Álvaro, tudo bem? Espero que sim!

O problema se encontra na 3ª linha, na construção do For Each. Você escreveu cecula ao invés de celula.

O código corrigido fica o seguinte:

Function Minha_Maximo(pIntervalo As Range) As Variant

aux_Retorno = 0

For Each celula In pIntervalo

    If celula.Value > aux_Retorno Then
         aux_Retorno = celula.Value
    End If

Next

Minha_Maximo = aux_Retorno

End Function

Além disso, tenha certeza de que o nome do Módulo em que se encontra a função tenha um nome diferente da função, para que o Excel não se perca em localizar a função.

Após as mudanças, salve o código em VBA e reescreva a função na célula desejada, uma vez que após alterar o Excel não vai atualizar a sua função na célula que digitou automaticamente.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!