Data del format VBA | Com es canvia el format de data al codi VBA?

Format del format VBA d'Excel

Per a formatar una data a VBA utilitzem la pròpia funció FORMAT incorporada, pren l'entrada com a format de data i retorna el format desitjat, els arguments necessaris per a aquesta funció són la pròpia expressió i el tipus de format.

El format de data i hora són coses sensibles a Excel i el mateix s'aplica a VBA. La data i l'hora predeterminades es basen en la data del sistema en què treballem, que pot variar d'un sistema a un altre. En aquest article, us mostrarem diferents tècniques per formatar dates amb codis VBA.

Per canviar el format de data amb la codificació VBA, hem de ser conscients de quins són els formats de data i el seu impacte en la data.

La taula següent mostra els diferents formats de data i els seus codis.

Per tant, si teniu en compte el gràfic anterior, el format de la data mitjançant la codificació VBA no és gens difícil.

Com es canvia el format de data a VBA?

A continuació es mostren els exemples de format de data Excel VBA.

Podeu descarregar aquesta plantilla Excel Data Format VBA aquí: plantilla Excel Data Format VBA

Exemple 1

Per exemple, tenim la mateixa data en diverses cel·les del full de treball que es mostra a continuació.

Ara aplicarem diferents formats de data per a la mateixa data per veure l’impacte en codis de format de data diferents.

Primer, copieu les mateixes dades a la següent columna per veure l’impacte.

Per a la primera cita, és a dir, la cel·la A1, aplicarem la "DD-MM-AAAA" format.

Primer, al codi, hem de seleccionar la cel·la mitjançant el fitxer GAMA objecte.

Codi:

 SubData_Format_Exemple1 () Interval ("A1") Finalització Sub 

Com que estem canviant el format de data de la cel·la, hem d’accedir alFormat de número”Propietat de l’objecte RANGE.

Codi:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

Després d’accedir a “Format de número”Hem d’establir el format numèric posant el signe igual i aplicar el codi de format entre cometes dobles.

Codi:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-aaa" 'Això canviarà la data fins al "23-10-2019" Finalitzar Sub 

Quan executem aquest codi, aplicarà el format numèric a la cel·la A1 com "DD-MM-AAAA”.

Sortida:

Exemple 2

De la mateixa manera, he aplicat diferents codis de format per a altres cel·les i a continuació es mostra el codi VBA.

Codi:

 Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-aaa" 'Això canviarà la data a "23-10-2019" Range ("A2"). NumberFormat = "ddd-mm-aaa" 'Això canviarà la data a l'interval "Diumenge-10-2019" ("A3"). NumberFormat = "dddd-mm-aaa" "Això canviarà la data a l'interval" Dimecres-10-2019 "(" A4 ") .NumberFormat = "dd-mmm-aaa" 'Això canviarà la data a l'interval "23-oct-2019" ("A5"). NumberFormat = "dd-mmmm-aaa"' Això canviarà la data a "23- Octubre-2019 "Interval (" A6 "). NumberFormat =" dd-mm-aa "'Això canviarà la data a" 23-10-19 "Interval (" A7 "). NumberFormat =" ddd mmm aaaa "' Això canviarà la data a l'interval "dc oct. 2019" ("A8"). NumberFormat = "dddd mmmm aaaa" 'Això canviarà la data a "dimecres d'octubre de 2019" Fi final 

El resultat d’aquest codi serà el següent.

Sortida:

Canvieu el format de data mitjançant la funció FORMAT

A VBA tenim una funció anomenada FORMAT que es pot utilitzar per aplicar el format desitjat a la cel·la.

Només cal especificar quin és el valor de "Expressió" i aplicar el "Format" en conseqüència.

Mireu el codi següent per obtenir un exemple.

Codi:

 Sub Date_Format_Example3 () Dim MyVal as Variant MyVal = 43586 Format de caixa de missatges (MyVal, "DD-MM-AAAA") End Sub 

Al codi anterior, he definit la variable com a variant (que pot contenir qualsevol valor).

Codi:

 Dismineix MyVal com a variant 

A continuació, per a aquesta variable, he assignat el valor com a 43586.

Codi:

MyVal = 43586

A continuació, al quadre de missatges, he mostrat el resultat de la variable, però abans de mostrar el resultat hem utilitzat el "FORMAT"Funció per formatar el valor de la variable"MyVal"I el format que es dóna és"DD-MM-AAAA”.

Codi:

Format MsgBox (MyVal, "DD-MM-AAAA")

D’acord, executem el codi i veiem el resultat al quadre de missatges de VBA.

Sortida:

Com podeu veure més amunt, el resultat es mostra com "01-05-2019”.

Ara us heu de preguntar si hem proporcionat el número de sèrie, però el resultat es mostra com a data. Això es deu al fet que l'Excel emmagatzema la data com a números de sèrie, de manera que el valor 43586 és igual a la data "01-05-2019" i, si augmenteu el nombre en 1, és a dir, 43587, la data serà "05-05-2019".

Codi:

 Sub Date_Format_Example3 () Dim MyVal as Variant MyVal = 43586 Format MsgBox (MyVal, "DD-MM-YYY") End Sub 

Coses que cal recordar

  • La data per defecte del vostre sistema també s'aplicarà a Excel.
  • La propietat Format de número es pot utilitzar per canviar el format de data a VBA.
  • Mitjançant la funció FORMAT, podem canviar el format de la data.
  • Excel guarda la data com a números de sèrie i, si apliqueu el format de data, es mostrarà en conseqüència.