none
Filtro Avancado com VBA RRS feed

  • Pergunta

  • Olá Pessoal,

    estou iniciando com o VBA e gostaria de uma ajuda

    Preciso fazer um filtro onde a partir de uma planilha base, onde estão os dados, possa filtrar para uma outra planilha usando

    o nome do vendedor; nome da UF, nome do cliente e campanhas relacionadas a esse cliente. A UF e o Vendedor estão num intervalo nomeado em outra planilha auxiliar e usei uma lista de validação para identificar cada um com base no intervalo nomeado através de uma caixa de combinação. As campanhas usei caixas de seleção dentro de uma caixa de grupo. Acontece que pode ocorrer do mesmo cliente está em mais de uma campanha. Então a ideia era por um botão de filtro/pesquisa com as combinações do vendedor ou todos, da UF ou todas e das campanhas marcada na caixa se seleção mostrando como resultado os clientes 

    Exemplo:

    Planilha Base

    VENDEDOR NOME CLIENTE  VALOR  C_DIAMANTE C_OURO C_PRATA UF
    RODRIGO EMPRESA X  R$      851,00 DIAMANTE Sem Campanha Sem Campanha SP
    PAULO EMPRESA A  R$  1.791,00 Sem Campanha OURO Sem Campanha RJ
    JOANA EMPRESA Z  R$  1.719,00 DIAMANTE Sem Campanha PRATA SP
    DANIELA NOME CLIENTE A  R$      274,00 DIAMANTE OURO Sem Campanha RS
    CARLOS NOME CLIENTE B  R$      791,00 Sem Campanha Sem Campanha PRATA PR
    CARLOS NOME CLIENTE C  R$      980,00 Sem Campanha OURO PRATA PR
    CARLOS NOME CLIENTE D  R$      296,00 Sem Campanha Sem Campanha PRATA PR
    PEDRO EMPRESA B  R$  1.791,00 DIAMANTE OURO Sem Campanha PR
    PAULO EMPRESA C  R$      465,00 DIAMANTE OURO PRATA RJ
    CARLOS EMPRESA D  R$      791,00 Sem Campanha OURO Sem Campanha PR
    DAVI A VISTA  R$      274,00 DIAMANTE Sem Campanha Sem Campanha SC

    Tentei gravar uma macro com filtro avançado mais não funcionou porque pode ser que o mesmo cliente esteja nas três campanhas ou em nenhuma. Teriam algum exemplo ou sugestão?

    domingo, 29 de setembro de 2019 12:49

Todas as Respostas

  • Boa tarde Paulo.

    Para fazer uma pesquisa multi-critérios basta ter em mente que condições na mesma linha representam uma concatenação "And", ou seja, toda as condições simultaneamente atendidas. E, cada linha corresponde a uma concatenação "Or", ou seja, todas as condições da linha 1 OU todas as condições da linha 2, OU todas as condições da linha 3, e assim por diante. Basta montar a combinação como desejada, lembrando que pode-se utilizar os caracteres especiais "=, >, <, >=, <=, ?, *".

    Compreendeu?


    Filipe Magno

    domingo, 29 de setembro de 2019 20:29