Função Case no Excel VBA

Objetivo: Demonstrar o uso de uma função própria criada para simular a função Case.

Agradecimento especial a colaboração de Jardel Novaes neste artigo.


Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.


Quem nunca teve que fazer um aninhamento de SE? Aquelas funções enormes que ficam com um monte de SE isso faça isso, senão faça aquilo, senão faça este outro, etc. Em programação em determinadas situações substitui-se este aninhamento de funções SE pelo uso da função CASE, que funciona da seguinte forma.

  • Você define qual a variável que será testada, no Excel seria o mesmo que verificar o resultado de uma célula;
  • Para cada resultado da célula a função executa uma outra função ou passa um valor fixo ou ainda o resultado de uma variável ou célula, conforme exemplo da tabela abaixo aonde a cada valor alterado é aplicada uma fórmula diferente.

Na prática, na medida em que você altera o resultado de uma célula que é testada, ele aplica uma fórmula ou célula. Assim como na função CASE de programação, o valor desta variável pode ser qualquer um, tanto faz se um número ou um texto, porém, ele deve ser exato, não permitindo operadores >(maior) e <(menor) ou ainda outros testes de lógica.

Public Function gfCase(ByVal Parametro As Variant, ParamArray Arr() As Variant) As Variant
    Application.Volatile

    For i = 0 To UBound(Arr)
        If i Mod 2 = 0 And Arr(i) = Parametro Then
            gfCase = Arr(i + 1)
            i = UBound(Arr)
        End If
    Next i
End Function
  • Entendendo os parâmetros da função
  1. O primeiro parâmetro que você passa é a célula que contém o valor que será testado;
  2. O segundo parâmetro é o teste da célula;
  3. O terceiro parâmetro é o resultado que deve ser demonstrado na célula caso o primeiro parâmetro seja equivalente ao segundo;
  4. Repita o segundo e terceiro passo tantas vezes quantos forem os seus parâmetros e resultados.
  • Exemplo: gfCase(D3;1;”Resultado 1″;2;”Resultado 2″), se a célula D3 for alterada para 1 a outra célula aonde consta a função exibirá Resultado 1, caso o valor de D3 seja 2 então o resultado será Resultado 2.

Ganho real:

Com o uso de gfCase:

=gfCase(E3;H9;I9;H10;I10;H11;I11;H12;I12;H13;I13;H14;I14;H15;I15;H16;I16;H17;I17;H18;I18)

Com o uso de SE aninhado:

=SE(E3=H9;I9;SE(E3=H10;I10;SE(E3=H11;I11;SE(E3=H12;I12;SE(E3=H13;I13;SE(E3=H14;I14;SE(E3=H15;I15;SE(E3=H16;I16;SE(E3=H17;I17;SE(E3=H18;I18;””))))))))))

GUT PPT Abraço Marcos Rieper

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

Quer aprender Excel Avançado ou Excel VBA? Conheça os nossos cursos, os melhores do mercado a preços baixíssimos e garantia de aprendizado. Cursos Guia do Excel.

excel vba

SISTEMA DE GESTÃO CONTA AZUL

O Excel é uma plataforma de trabalho muito aberta para servir ao gerenciamento de dados de uma empresa, dado a complexidade e a integração entre as diversas áreas que a compõe. Mas é a melhor para analisar suas informações.

Com a intenção de atender as micro e pequenas empresas a Conta Azul criou um software de gestão aonde você tudo o que você precisa para gerir a sua empresa: Estoque, Vendas, Financeiro e ainda emite Nota Fiscal Eletrônica, tudo isso em um sistema simples de trabalhar, que você acessa pela internet, não há a necessidade de comprar servidores e preocupar-se com backup e atendimento através de 0800.

O preço da ferramenta também chama a atenção, sendo um preço mais do que justo para se ter o controle dos dados e a geração de informações para a análise do seu negócio.

ContaAzul é um software de gestão financeira e fiscal para micro e pequenas empresas. Ele funciona 100% em plataforma web, não necessitando nenhuma instalação ou atualização. Você pode acessar de qualquer lugar e não tem necessidade de comprar nova licença caso troque de computador.

  O Guia do Excel recomenda o Conta Azul no gerenciamento de sua empresa.
Use QR-Code to get this permaking using your Smartphone. QR Code for Função Case no Excel VBA

1 Comentário

Deixe o seu comentário


 
%d blogueiros gostam disto: