Eu tenho uma caixa de texto para exibição de data que mostra a data neste formato: 17/04/2012, mas eu gostaria de formatá-lo para aparecer como "17 de abril de 2012". Eu tentei esse código
UserForm1.txtDate = Format(Long Date)
que estou recebendo erro de sintaxe do compilador.Você, por favor, deixe-me saber como eu posso fazer isso? obrigado
Respostas:
2 para resposta № 1tem havido alguns posts sobre isso. O culpado parece ser o formato de data do seu sistema. O uso de formatos curtos, médios e longos alterará o resultado quando as configurações do sistema forem alteradas.
- Nos sistemas dos EUA, principalmente, é feito como, e.
Format$(yourdate, “dd/mm/yyyy”)
- Onde, como sistemas europeus, por ex.
Format$(yourdate, “short date”)
Se olharmos explicitamente para definir seu formato, você estará formulando suas configurações regionais!
Boa por exemplo. A data abreviada não será sempre dd / mm / aaaa, mas poderá ser dd / mm / aaaa. Essa é a principal vantagem sobre a especificação real do formato. Simplesmente você pode mudar a aparência da sua data em vez de depender do sistema (com ou sem o seu conhecimento).
Quando nos deparamos com isso pela primeira vez, criamos alguns aplicativos VBA e os enviamos para outro em outro local onde eles têm o formato de data de sistema localizado. Seu telefone toca ...;)
- Short / Long Date: exiba uma data de acordo com o formato de data longo do seu sistema.
- Data média: exibe uma data usando o formato de data médio apropriado para a versão do idioma do aplicativo host.
No seu caso você poderia usar,
UserForm1.txtDate.Value = Format$(Date,"mmmm dd, yyyy")
Ou para ser super seguro,
Dim dtDate as Date
dtDate = DateSerial(Year(Date), Month(Date), Day(Date))
UserForm1.txtDate.Value = Format$(dtDate, "mmmm dd, yyyy")
Espero que ajude.