Afegeix una data de VBA | Afegeix i resta dates mitjançant la funció Dateadd

Funció DataAdd d'Excel VBA

DataAfegeix La funció es classifica sota la funció de data i hora a VBA i aquesta funció té un valor de sortida com a data, pren l'entrada com a format de data i l'afegeix a la data actual per tornar una nova data, la sintaxi d'aquesta funció pren interval d'arguments, el número i la data.

Mitjançant la funció DateDd podem afegir i restar dies, mesos i anys a partir de la data indicada. La data in Excel forma part del nostre treball diari, no podem treballar en Excel sense data, hora i altres coses importants. Afegir una data a una altra data, restar una data a una altra és el procés habitual. Al full de treball normal, simplement fem operacions aritmètiques i obtenim el resultat. A VBA tenim la funció anomenada DateAdd que farà la feina.

Sintaxi

Interval: L'interval no és res més que quin és el tipus de valor que voleu afegir o restar. Per exemple, si voleu sumar o restar un mes, si voleu sumar o restar dies, si voleu sumar o restar un any, si voleu sumar o restar trimestre, etc.

A continuació es mostra una llista de codis i descripcions.

  • Número: El nombre de mesos, dies o setmanes (segons es proporciona a l'interval) que volem afegir o restar a la data.
  • Data: El valor de data real que estem fent l'operació aritmètica.

Per exemple, si teniu la data "14-març-2019" i voleu afegir 2 dies a la data, utilitzeu el codi següent:

DataAfegeix ("d", 2, "14-03-2019")

El resultat del codi anterior és: 16-03-2019

Com s'utilitza la funció Dateadd a VBA?

Podeu descarregar aquesta plantilla Excel de VBA DateAdd aquí: plantilla Excel de VBA DateAdd

Exemple núm. 1: afegir data

Per iniciar el procediment, permet aplicar una senzilla funció DateAdd. Suposem que esteu treballant amb la data "14-03-2019".

Pas 1: Inicieu el subprocés creant un nom de macro.

Pas 2: Definiu la variable com a Data.

Codi:

 SubDataAfegeix_Exemple1 () Dim mes com data de finalització Sub 

Pas 3: Per a aquesta variable assigneu un valor.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = End Sub 

Pas 4: Inicieu el DataAfegeix fórmula.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd (End Sub 

Pas 5: Quina és l’operació que volem fer. Volem un dia fins a la data. Per tant, l’interval és “d”.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", End Sub 

Pas 6: Quants dies hem d'afegir, he d'afegir 5 dies.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, End Sub 

Pas 7: La nostra cita és "14-03-2019

Codi:

 Sub DataAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") End Sub 

Pas 8: Mostra el resultat de la variable al quadre de missatge VBA.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") MsgBox NewDate End Sub 

Si executo aquest codi, hauria d’obtenir la data el 19-03-2019.

El format de la data del meu sistema és "mm-dd-aaaa", de manera que el resultat es mostra segons la configuració de la data del sistema.

Tot i això, podem modificar-ho aplicant la funció VBA FORMAT.

Codi:

 Sub DateAdd_Example1 () Dim NewDate As Date NewDate = DateAdd ("d", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") End Sub 

Ara el resultat hauria de ser així "19-març-2019”.

Exemple 2: afegiu mesos

Per afegir mesos a continuació es mostra el codi

Codi:

 Sub DateAdd_Example2 () 'Per afegir mesos Dim NewDate as Date NewDate = DateAdd ("m", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") 

El resultat serà:

Exemple 3: afegir anys

Per afegir anys amb DateAdd, utilitzeu el codi següent.

Codi:

 Sub DateAdd_Example2 () 'Per afegir any Dim NewDate As Date NewDate = DateAdd ("aaaa", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") Finalització sub 

El resultat serà:

Exemple # 4 - Afegeix un trimestre

Per afegir quart a continuació es mostra el codi

Codi:

 Sub DateAdd_Example2 () 'Per afegir trimestre Dim NewDate Com data NewDate = DateAdd ("Q", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") Finalitzar sub 

El resultat serà:

Exemple # 5: afegiu el dia de la setmana

Per afegir els dies laborables següents, es mostra el codi

Codi:

 Sub DateAdd_Example2 () 'Per afegir dies feiners Dim NewDate As Date NewDate = DateAdd ("W", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") Final Sub 

El resultat serà:

Exemple núm. 6: afegiu una setmana

Per afegir la setmana següent hi ha el codi

Codi:

 Sub DateAdd_Example2 () 'Per afegir Week Dim NewDate com a data NewDate = DateAdd ("WW", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") Final sub 

El resultat serà:

Exemple # 7: Afegir hora

Per afegir l’hora següent hi ha el codi

Codi:

 Sub DateAdd_Example2 () 'Per afegir hora Dim NewDate as Date NewDate = DateAdd ("h", 5, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-yyyy hh: mm: ss") End Sub 

El resultat serà

Exemple # 8: restar la data

Per sumar hem proporcionat nombres positius, per restar hem de proporcionar nombres negatius que són tots.

Per tal de restar 3 mesos de la data subministrada a continuació, es mostra el codi.

Codi:

 Sub DateAdd_Example3 () 'Per afegir hora Dim NewDate As Date NewDate = DateAdd ("m", -3, "14-03-2019") Format MsgBox (NewDate, "dd-mmm-aaaa") 

El resultat d’aquest codi és:

Si es dedueixen 3 mesos a partir de la data del 14 de març de 2019, es tornarà a l’any anterior.