FORMATAR DATA PERSONALIZADA
Boa tarde! Estou com um pequeno problema para formatar datas em uma planilha como segue:
Carrego dessa forma como texto:
12016
112016
122016
depois formato
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Format(Left(!NovaData, 1), [Ô]00[Ô]) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Plan4.Range([Ô]A[Ô] & Linha).NumberFormat = [Ô]mm/yyyy[Ô]
O formato de saÃda deveria ser como abaixo:
01/2016
11/2016
12/2016
acontece que a segunda e terceira data não formata corretamente ficando sempre com 01/2016. Onde estou errando na função acima?
Carrego dessa forma como texto:
12016
112016
122016
depois formato
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Format(Left(!NovaData, 1), [Ô]00[Ô]) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Plan4.Range([Ô]A[Ô] & Linha).NumberFormat = [Ô]mm/yyyy[Ô]
O formato de saÃda deveria ser como abaixo:
01/2016
11/2016
12/2016
acontece que a segunda e terceira data não formata corretamente ficando sempre com 01/2016. Onde estou errando na função acima?
Você está usando um Loop ou For para percorrer todas as linhas?
Nessa formatação você ignora o segundo digito dos meses.
Se quiser continuar formatando dessa forma, apenas crie uma simples condição.
Se o texto de data conter 6 digitos...
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Format(Left(!NovaData, 1), [Ô]00[Ô]) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Plan4.Range([Ô]A[Ô] & Linha).NumberFormat = [Ô]mm/yyyy[Ô]
Se quiser continuar formatando dessa forma, apenas crie uma simples condição.
Se o texto de data conter 6 digitos...
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Format(Left(!NovaData, 2), [Ô]00[Ô]) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Você deve estar esquecendo de atualizar a variável NovaData no loop.
Abraços!
Abraços!
Desculpe-me o atraso mas resolvi conforme abaixo:
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Left(!NovaData, Len(!NovaData) - 4) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Obrigado a todos pelas sugestões.
Plan4.Range([Ô]A[Ô] & CStr(Linha)) = Left(!NovaData, Len(!NovaData) - 4) + [Ô]/[Ô] + Format(Right(!NovaData, 4), [Ô]0000[Ô])
Obrigado a todos pelas sugestões.
Tópico encerrado , respostas não são mais permitidas