Incompatibilidade de gerenciamento de tipos de data (ano de 2 dígitos) - na ação do usuário copiar / colar

3

Eu acho uma inconsistência estranha ao copiar e colar datas no MS Excel, quando eles têm um ano de 2 dígitos. Eu trabalho em uma máquina Windows 7 Enterprise 64 bit e meu Excel é uma versão de 2010.

DESCRIÇÃO DO PROBLEMA: se eu escrever uma data curta em qualquer aplicativo (digamos o Bloco de Notas), e copiar isso para o Excel, o ano será interpretado incorretamente após 2029. Exemplos:

  • Eu escrevo "12/01/29" no bloco de notas e copio e colo este valor no MS Excel: a data será interpretada como "12/01/2029".
  • escrevo "12/01/31" no bloco de notas e copio e colo este valor no MS Excel: a data será interpretada como "12/01/1931" (em vez de "12/01/1931").

RESEARCH 1 - painel de controle: Após a primeira pesquisa, encontrei uma opção na configuração Painel de Controle / Datas, dizendo que "se um ano for inserido com 2 dígitos, ele será incluído entre 1997 e 2096 ". Imagem abaixo (está em francês, minha linguagem de sistema, mas o conteúdo é o que eu descrevi):

Noentanto,mesmoqueessaconfiguraçãomeleveaesperarumaconversãoadequadadocasodetesteacima,nãoéassim.

INVESTIGAÇÃOADICIONAL-VBA:OVBAgeralmenteherdaasconfiguraçõesdoaplicativodehospedagem(MSExcelnomeucaso),queestáherdandoaconfiguraçãodosistema.Porexemplo,seoidiomadosistemaforfrancês,significaqueomêsde"dezembro" está escrito como "Dezembro". Então, se eu escrever isso, funcionará: myDate = DateValue("11-déc-12") , enquanto se eu escrever isso não funcionará: myDate = DateValue("11-dec-12") . Isto é claramente porque o VBA herda a linguagem do sistema, por isso reconhece "décembre" (francês) e não "dezembro" (inglês).

No entanto, se eu escrever isso:

myDate = DateValue("12/01/31")

o valor será interpretado corretamente como 12/01/2031 .

FIMENTANDO A FINALIDADE: digitando manualmente "12/01/31" em uma célula do Excel será convertido corretamente em 2031. Assim, parece que surge o problema em copiar e colar somente .

MINHA PERGUNTA: parece que há uma inconsistência entre as configurações. Alguém poderia me levar ao lugar certo para corrigir esse problema uma vez para sempre e garantir que a configuração "se um ano for inserido com 2 dígitos, será entre XXXX e YYYY" por favor? Agradecemos antecipadamente, não hesite em pedir mais detalhes, se necessário.

    
por Matteo NNZ 17.12.2014 / 11:48

0 respostas