Ir para conteúdo
Fórum Script Brasil
  • 0

Filtro em Macro.


Candeias

Pergunta

Filtro em Macro.

Srs.(as), analisem onde está o erro.

utilizo o excel na Versão 2003 Português.

As células estão preenchidas da seguinte maneira:

A1 = Dados

A2 = 0,12

A3 = 1,23

A4 = 2,34

A5 = 3,45

A6 = 4,56

A7 = 5,67

A8 = 5,78

A9 = 7,89

A10 = 8,90

A11 = 9,01

1 - Seleciona-se a coluna "A:A",

2 - Na barra de comandos, clicar em:

"Dados" -> "Filtrar" -> "AutoFiltro"

3 - Na barra de comandos, clicar em:

"Ferramentas" -> "Macro" -> "Gravar Nova Macro"

4 - Clicar na "Seta Suspensa" do filtro da coluna "A:A" e selecionar o valor 4,56

5 - Parar a gravação da macro.

6 - Clicar na "Seta Suspensa" do filtro da coluna "A:A" e selecionar o valor (Tudo)

7 - Executar a macro gravada.

No meu caso, a macro não mostra valor algum, ou seja, o filtro, torna invisível todas as linhas.

O quê será que está errado?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Caro Candeias,

De facto é estranha a situação que aponta...

Bom, mas a solução será esta:

Sub Exp()
Dim X As String
    X = InputBox("Qual o número que pretende filtrar?")
    Selection.AutoFilter Field:=1, Criteria1:=X
End Sub

Experimente e diga qualquer coisa...

Link para o comentário
Compartilhar em outros sites

  • 0

Caro zav60, obrigado pela resposta, mas, mesmo com o código que você sugeriu, o problema continua, ou seja, ainda com o seu código, após inserir qualquer número, no exemplo, 4,56 , todas as linhas ficam ocultas.

Se não for pedir muito; se o seu Excel for em português, favor testar o meu e na sequêcnai o seu código.

Link para o comentário
Compartilhar em outros sites

  • 0

Caro Candeias,

1-Eu experimentei o que V. sugeriu no seu primeiro post e de facto - sabe-se lá porque razão - não registou qualquer acção na macro daí ter dito "De facto é estranha a situação que aponta...";

2-O meu Excel não é em português... mas não creio que venha daí o problema.

3-O código que lhe enviei, criei-o no meu local de trabalho. Hoje, domingo, estou em casa e voltei a testá-lo no Excel que tenho em casa e uma vez mais funcionou em pleno. Acho estranho não funcionar no seu. Dá-lhe alguma mensagem de erro? Pura e simplesmente não produz nenhuma acção? Tem a certeza que introduziu todo o código? Está a dar os dados correctamente (i.e. está a utilizar a coluna A)?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Candeias --

Caro Zav60, boa noite!

Obrigado pela atenção!

Caro, fiz tudo conforme sua orientação. Confesso que tenho um certo conhecimento em macros e penso que o problerma está relacionado à maneira de como a linguagem VBA interpreta números com vírgula, ou seja, O VBA trata os números no formato norte-americano, tratando os números, no exemplo, (4,56), como (4.56), e quando, na célula aparece a vírgula, o filtro não consegue localizar. Se, por exemplo, na minha versão do excel, português brasileiro, eu substituir as vírgulas por ponto, ou sejam, (0,12) por (0.12) , (1,23) por (1.23), (2,34) por (2.34) ..., o filtro consegue localizar qualquer valor. Já fiz várias conversões com o formato do número, mas, não obtive sucesso. Pelo seu sotaque, penso que você é de origem portuguesa, e lembro que no Brasil, não sei se é o seu caso, o sinal separador de milhar é o ponto e o sinal separador decimal é a vírgula. Daí, o VBA, interpretando números no formato norte-americano, o filtro não funcionou. de qualquer forma, se você encontrar a solução, favor me ajudar. Vou continuar tentando a solução e se conseguir a resposta, te comunico.

Link para o comentário
Compartilhar em outros sites

  • 0

Caro Candeias,

Lamento não poder ajudar mais do que o que tentei. Confesso que estou confuso.

O Excel que uso é o "original" (quero dizer, o dos EUA). Não conheço a versão portuguesa (para o mercado brasileiro, ou mesmo para o português). O que uso, de facto, tem o "." como referência para a unidade mas continuo a achar que o problema não vem daí porque a programação é feita no sentido de procurar algo, não se preocupando se é texto ou número, isto é, se se usa a "," ou o "." como separador de unidade. V. diz que se trocar a "," pelo "." a procura funciona em pleno, o que me deixou ainda mais confuso. Eu experimentei fazer o contrário (trocar os pontos por vírgulas) e a busca funcionou na mesma. Só não funciona nos casos em que se procura filtrar, por exemplo, 2.300 quando se pretendia 2.300,00. Mas isso também se passa se eu tiver 2,300.00 numa célula e quiser filtrar por 2,300 ou 2300.00.

Bom, se descobrir alguma coisa diga...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...