none
Problema com Data - VBA-Excel RRS feed

  • Pergunta

  • E ai Galera, tudo tranquilo?

    Revirei várias páginas atras de uma resposta que resolvesse, porem não achei nada.

    Meu problema é o Seguinte;

    Tenho um TextBox para a data (tbData).

    E uma tabela dinâmica

    Os valores da TextBox vão parar na Tabela dinâmica.

    Agora vamos ao X da questão

    Valores até 12/12/2014 ( o dia só pode ir até 12, o mese e o ano são indiferentes)

    São reconhecidos como data na tabela. Exemplo

    05/04/2014 - Fica como 5 de Abril de 2014 ( Isso nos filtros da Tabela)

    Porem...

    15/05/2014 - Fica na tabela como "15/05/2014"

    Mas se eu apenas entrar na celular e sair, atualiza e fica tudo certo como 15 de maio de 2014.

    Gostaria de Poder deixar automático isso, sem precisar entrar e sair das celular.

    Ja tentei 

    tbData.Text = Format(tbData.Text, "dd/mm/yyyy") e

    tbData.Text = Format(tbData.Text, "mm/dd/yyyy")

    No Evento Exit.

    E não da Certo.

    Oh, e agora, quem poderá me defender?

    Obrigado desde Já

    segunda-feira, 17 de fevereiro de 2014 14:38

Respostas

  • Boa noite Vini.

    Realmente a troca de informações de data entre Excel e VBA depois do Excel 2007 ficou um pouco atrapalhada (especialmente no uso do Filtro Avançado, como foi no meu caso). Para o seu problema fiz alguns testes e cheguei a algo que pelo menos parece que funcionou.

    Primeiramente eu formatei a célula "A1" como "dd/mm/aaaa". Depois coloquei o Textbox para digitação livre e coloquei o código abaixo para enviar os dados para a planilha:

    Plan1.Range("A1").Value2 = Format(Me.TextBox1.Value, "mm/dd/yyyy")

    O uso de "Value2" impede qualquer modificação no formato da célula. Nos testes que fiz parece ter funcionado, apesar de ter que enganar o VBA.

    Testa aí e veja se funciona.

    Abraço.


    Filipe Magno

    terça-feira, 18 de fevereiro de 2014 01:35

Todas as Respostas

  • Manda sua planilha.

    usa o sendspace.

    segunda-feira, 17 de fevereiro de 2014 16:25
  • Boa noite Vini.

    Realmente a troca de informações de data entre Excel e VBA depois do Excel 2007 ficou um pouco atrapalhada (especialmente no uso do Filtro Avançado, como foi no meu caso). Para o seu problema fiz alguns testes e cheguei a algo que pelo menos parece que funcionou.

    Primeiramente eu formatei a célula "A1" como "dd/mm/aaaa". Depois coloquei o Textbox para digitação livre e coloquei o código abaixo para enviar os dados para a planilha:

    Plan1.Range("A1").Value2 = Format(Me.TextBox1.Value, "mm/dd/yyyy")

    O uso de "Value2" impede qualquer modificação no formato da célula. Nos testes que fiz parece ter funcionado, apesar de ter que enganar o VBA.

    Testa aí e veja se funciona.

    Abraço.


    Filipe Magno

    terça-feira, 18 de fevereiro de 2014 01:35