Prezados boa noite!
Estou tetando fazer uma macro que utilize o filtro avançado, porém queria que a minha área de critério recebesse valores oriundos de outras células e não da digitação direta.
Quando digito os valores diretamente na área de critério a macro funciona.
Quando faço a minha área de critério receber valores oriundos de outras células não funciona.
A macro é:
Sub FiltrarParticipantes() ' ' FiltrarParticipantes Macro ' Application.CutCopyMode = False Sheets("Disponibilidades Participantes").Range("B2:Y402").AdvancedFilter _ Action:=xlFilterCopy, CriteriaRange:=Range("Filtros!Criteria"), _ CopyToRange:=Range("G4"), Unique:=True Range("B6").Select End Sub
Alguém tem alguma idéia de como posso resolver?
Grato.
Olá ubiratanre,
Poderia anexar o arquivo?.
Aparentemente está se referindo a range com divergencia, o que vem a ser "Filtros!Criteria"?
Se for planilha Filtro e range nomeada Criteria, deveria ser algo do tipo :=Sheets("Filtros").range("Criteria"), lembrando que deve se referir a uma unica celula.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Prezados, obrigado pela atenção.
Como sou novato em programação VBA fiz via gravação de macro, por isso não sei bem o que está na macro.
Então vou explicar a planilha e o que estou precisando:
1) A planilha "Cadastro Participantes" são algumas informações dos participantes;
2) A planilha "Disponibilidade Participantes" é o meu banco de dados com a disponibilidade ou não de cada participante nos dias da semana;
3) A planilha "Filtro" seria justamente para escolher os filtros a serem aplicados na busca.
Usando a função de filtro avançado você precisa usar o mesmo "nome" na célula filtro da célula do "banco de dados".
Por exemplo: Na planilha "Disponibilidade Participantes" a célula D2 tem o nome "SEGUNDA MANHÃ 1" então, na planilha "Filtro" tem que ter uma célula com o nome "SEGUNDA MANHÃ 1".
Só que eu quero colocar um descritivo mais sugestivo para facilitar para o usuário, então pensei em colocar numa parte da planilha "Filtro" os nomes iguais aos da planilha "Disponibilidade Participantes" só que não visíveis (seria o range I1:AE2).
O usuário iria escolher as condições do filtro (B5:E16) e depois clicar em "FILTRAR" e na coluna G, abaixo de "Participantes" iria aparecer os participantes que satisfazem as condições.
Assim pensei: se fizer I2 = B6 e assim sucessivamente está resolvido. Puro engano, o Filtro não funciona.
Esse é o problema que tenho.
Agradeço antecipadamente a ajuda.
Olá ubiratanre,
Fiz por fórmula mesmo. Veja se atende vossa necessidade, caso contrário, retornar.
Fico no aguardo.
Leonardo, obrigado pela ajuda.
Não funcionou, pois ao limpar a célula para inserir novo valor a fórmula é substituída pelo valor.
Exemplo:
Ao colocar "N" na célula B6 a fórmula é substituída por "N".
Também o filtro não é aplicado aos dados.
Grato.
ubiratanre,
Veja agora,...
Leonardo, obrigado pela atenção.
Resolvi utilizando listbox.
Grato.