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 DateAddExemple 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.