VBA: Comment faire pour modifier le format de date


Une date VBA varaible stocke la date forme de valeurs numériques pouvant être transformé en une variété de formats.

La première date qui peut être stocké est 1/1/1900.




Dates successives sont stockés en fonction de leur relation à cette date.

1 = 1/1/1900

2 = 01/02/1900

3 = 03/01/1900

et ainsi de suite ...

Le code ci-dessous va retourner 03/01/1900 dans la cellule "A2"

Sub test () As Date TestDate Dim TestDate = 3 Range ("A2") = TestDate End Sub

Variables Date de Chargement

Date de chargement en fonction de leurs valeurs peut sembler assez simple, mais quand vous commencez à penser plus dates actuelles devenir un véritable défi.

Par exemple 29/09/2012 est représentée par une valeur de 41 181. Combien d'entre vous pourrait venir avec le haut de votre tête?

Heureusement pour ceux d'entre nous qui ne sont pas une sorte de génie mathématique. VBA a une fonction pour convertir une date à partir de chaîne à sa valeur.

date de conversion Valeur chaîne

VBA peut convertir une date de chaîne dans ne importe quel format standard pour sa valeur.

Quelques exemples:

DateValue ("Septembre 29, 2012") = 41181

DateValue ("Septembre 29, 2012") = 41181

DateValue ("29/09/2012") = 41181

DateValue ("29/09/12") = 41181

Sub test () As Date TestDate Dim TestDate = DateValue ("Septembre 29, 2012") Range ("A2") = TestDate End Sub

Date de mise en forme

Une fois que la chaîne a été convertie en un format de date peut être renvoyé dans un format souhaité. Pour ce faire en utilisant la fonction de mise en forme, en combinaison avec la fonction de la date.

Remarque: Vous pouvez avoir besoin d'appliquer numéro de formatage personnalisé dans Excel si vous ne utilisez pas un ensemble de données au format natif.

Sub test () As Date TestDate Dim TestDate = DateValue ("Septembre 29, 2012") Range ("A1") = "exemples de formatage de date" Range ("A2") = Format (TestDate, "AAMMJJ") ("A3") Plage = Format (TestDate, "MMJJAA") ("A4") Plage = Format (TestDate, "JJ/MM/AAAA") («A5») Plage = Format (TestDate, «YY, MM, DD") ("A6") Plage = Format (TestDate, "MMM, YY YY") Range ("A7") = Format (TestDate, "MMMM JJ AAAA") «Avec la mise en forme personnalisée Range ("A8") = Format (TestDate, "MMMM JJ AAAA") Range ("A8"). NumberFormat = "MMMM JJ AAAA" End Sub

Le résultat final

(0)
(0)
Article suivant Rocket Hub Antennes

Commentaires - 0

Sans commentaires

Ajouter un commentaire

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caractères restants: 3000
captcha