Jump to content

Não consigo filtrar Data AZ porque TxtBoxData transforma em texto


Recommended Posts

Conforme a tabela abaixo, preciso Filtrar em ordem alfabética AZ a Coluna DATA. Mas o TxtBoxData sempre lança nas células datas em formato de texto e assim fica impossível o Excel filtrar a partir da data mais recente até a mais antiga. Não adianta formatar "dd/mm/yyyy" por que depois que são lançadas pelo TxtBoxData se transformam em texto (nunca em número). Como resolver esse problema? 

   DATA        

02/01/2001   

05/04/2000    

22/02/2002     

22/08/1892    

12/12/1500

Link to post
Share on other sites

Oi, Gnrtuga. Eu não consigo aplicar esse código. Tenho um modelo que não está dando certo:

For Each Cell In [A1:A10]

If Cell >"" Then

Cell.Activate

Selection.NumberFormat="dd/mm/yyyy

Else

End If

Next

 

Mas infelizmente sempre uma celula com data contínua em formato de texto.

 

Como inserir o seu código?

Link to post
Share on other sites

Boas, não sei se os valores são introduzidos diretamente na folha (planilha) ou se é através de um formulário.

Em princípio ele não deve alterar as datas que são separadas por ponto (.), se é só esse o caso isto deve resolver:

Selection.NumberFormat = "dd/mm/yyyy"
data = Replace(Selection.Value, ".", "/")
Selection.Value = CDate(data)

Espero que seja isso, boa sorte. 

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Link to post
Share on other sites

Infelizmente, o problema não é pontos oi outro caractere...

Acontece que,vpor exemplo, ao digitar uma data no TxtBox ele lança na planilha uma data 01/12/2000 igualzinho a uma data verdadeira. Mas quando eu faço filtro, ou seja, ordeno de AZ as datas, elas nao saem do lugar. Aí percebo que são m todas TEXTO.

Não sei como inserir o codigo sugerido logo acima.  Data=Cdate(valor_da_textbox)

Link to post
Share on other sites

Pois se os valores vêm de formulário ainda é mais simples.

No sitio que recebes o valor, convertes logo.

Ex:

Valor_que_vai_para_a_celula =Cdate(Textbox_onde_utilizador_introduziu_a_data.Text)

Mas no código que colocaste acima, a operação é efetuada a valores que já foram introduzidos na planilha, e nesse caso tens que usar o código que está acima.

Se não dá, preciso de mais código e dos nomes das textbox onde o utilizador insere o código.

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.