Taula de continguts
A l'aplicació Microsoft Visual Basic, les funcions de data o qualsevol concepte relacionat amb la data són essencials per realitzar diverses operacions al vostre conjunt de dades. És possible que us trobeu en diverses situacions en què haureu d'utilitzar aquestes funcions. En aquest tutorial, aprendràs sobre la funció Data de VBA amb exemples adequats i il·lustracions adequades. A més, us proporcionarem diverses funcions de data que podeu implementar al vostre full de treball.
Baixeu el llibre de pràctiques
Usos de VBA Date.xlsm
Introducció a la funció de data de VBA
Excel classifica les dates a la funció Data/Hora . És una funció integrada. El podem utilitzar en macros de VBA per realitzar qualsevol operació relacionada amb la data.
Abans de començar amb la funció Data, heu de conèixer les variables de data a VBA .
⏺ Sintaxi
Data()⏺ Arguments Explicacions
No hi ha arguments .
⏺ Retorna
Retorna la data actual.
⏺ Disponible a
Excel per a Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 per a Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000
⏺ Exemple
Com ja sabeu, no hi ha arguments que només podeu introduir-lo com el següent:
7391
Quan treballem amb la funció Data, no donem cap parèntesi als codis VBA com aquest exemple.
Sortida :
12Diumenge
2 – Dilluns
3 – Dimarts
4 – Dimecres
5 – Dijous
6 – Divendres
7 – Dissabte
Fragment de codi:
4956
Sortida:
Com podeu veure, la funció de data de VBA retorna 4. Això vol dir Dimecres.
Contingut relacionat: Com utilitzar la funció de correcció a Excel VBA (4 exemples)
9. Funció WeekdayName de VBA
Retorna una cadena que mostra el dia limitat de la setmana.
Sintaxi :
WeekdayName(weekday, abreviat, firstdayofweek)
Argument:
dia de la setmana: Camp obligatori. La identificació numèrica del dia de la setmana. El valor numèric de cada dia depèn de la configuració del primer dia de la setmana.
abreujar: Això és opcional. Valor booleà que implica si s'ha d'escurçar el nom del dia feiner. Si s'omet, el valor predeterminat és Fals, la qual cosa significa que el nom del dia de la setmana no s'abreuja ni s'escurça.
firstdayofweek: camp opcional. Valor numèric que indica el primer dia de la setmana. Pot tenir diversos valors.
L'argument firstdayofweek pot tenir els valors següents:
vbSunday : utilitza diumenge com a el primer dia de la setmana.
vbMonday : empra dilluns com a primer dia de la setmana.
vbTuesday : funciona dimarts com a primer dia dela setmana.
vbWednesday : empra el dimecres com a primer dia de la setmana.
vbThursday : funciona els dijous com a dia més aviat de la setmana .
vbFriday : empra divendres com a primer dia de la setmana.
vbSaturday : funciona dissabte com a primer dia de la setmana.
vbUseSystemDayOfTheWeek : utilitza el primer dia de la setmana que es defineix per la configuració del dispositiu.
Fragment de codi:
4169
Sortida:
Com podeu veure, els codis VBA anteriors mostren el nom del dia laborable.
Contingut relacionat: Com per utilitzar la funció VBA WeekdayName a Excel (2 exemples)
10. Funció Any a VBA Data
Retorna una Variant (Enter) que té un nombre real que expressa l'any.
Sintaxi :
Any(data)
Argument:
L'argument de data requerit és qualsevol Variant, expressió numèrica, expressió de cadena o qualsevol combinació. Representa una data. Si la data inclou Null, també retornarà Null.
Fragment de codi:
4849
Sortida:
Aquí podeu veure l'any de la data indicada després d'implementar el codi VBA.
Llegir més: Com utilitzar la funció de substitució de VBA a Excel ( 11 Aplicacions)
11. Funció FormatDateTime
Aquesta funció retorna una expressió amb el format de data o hora.
Sintaxi :
FormatDateTime(Data, [ NamedFormat])
Argument:
Data: Camp obligatori. Expressió de data que s'ha de formatar.
NamedFormat: Això és opcional. És un valor numèric que mostra el format de data/hora. Si s'omet, va utilitzar el vbGeneralDate .
El NamedFormat pot tenir els valors següents:
vbGeneralDate (0): Mostra una data i/o una hora. Si hi ha una part de data, expresseu-la com a data curta. Si hi ha una part de temps, mostra-la com a temps llarg. Les dues parts es mostren si n'hi ha.
vbLongDate(1): Representa una data utilitzant la configuració de data llarga seleccionada a la configuració regional de l'ordinador.
vbShortDate (2): Mostra una data utilitzant el format de data curta especificat a la configuració regional de l'ordinador.
vbLongTime(3): Mostra una hora utilitzant el format d'hora especificat a la configuració regional de l'ordinador.
vbShortTime(4): Mostra una hora utilitzant el format de 24 hores (hh:mm).
Fragment de codi:
1618
Sortida:
Veureu els quadres de diàleg següents després d'executar el codi:
Aquí, podeu veure tots els formats d'hora i data a VBA.
Llegir més: Com utilitzar la funció TimeValue de VBA (6 exemples rellevants)
12. Funció VBA CDate
La funció converteix una expressió de data i hora vàlida en una data típica.
Sintaxi :
CData(data)
Argument:
L'argument de data requerit és qualsevol Variant, expressió numèrica, expressió de cadena o qualsevol combinació. Representa una data. Si la data inclou Null, també retornarà Null.
Fragment de codi:
1609
Sortida:
Com podeu veure, el nostre codi VBA acaba de retornar un format de data típic d'Excel.
Contingut relacionat: Com utilitzar la funció DIR de VBA a Excel. (7 exemples)
Exemples de data VBA
A les seccions següents, us proporcionarem tres exemples pràctics i adequats de data amb VBA. Aquests exemples inclouran problemes relacionats amb la data i les seves solucions. Us recomanem que llegiu i practiqueu tots aquests exemples per millorar els vostres coneixements de VBA. Entrem-hi.
1. Calcula els dies vençuts utilitzant Data a VBA
El significat de vençut s'està produint tard o passat la data límit. Tard, en particular, passat una data límit o massa tard per complir un requisit.
Suposem que heu d'enviar una tasca fins diumenge. Però és dimarts i no l'heu enviat. Pots anomenar-ho dos dies de venciment.
Fes una ullada al conjunt de dades següent:
Aquí tenim un conjunt de dades d'alguns estudiants i els seus treballs enviats. data. Podeu veure la darrera data de presentació. El nostre objectiu és trobar la data de venciment en funció de la data de presentació. Ara, per aconseguir-ho, seguiu aquests passos:
📌 Passos
- Primer, premeu Alt+F11 al teclat per obrir l'editor VBA.
- A continuació, seleccioneu Insereix > Mòdul .
- Després, escriviu el codi següent:
3005
Hem utilitzat el Funció ABS per eliminar el signe menys.
- A continuació, deseu el fitxer.
- Després, premeu Alt+F8 al teclat per obrir-lo. el quadre de diàleg Macro.
- A continuació, seleccioneu
- A continuació, feu clic a Executar .
Com podeu veure, hem utilitzat correctament la data a VBA i hem trobat els dies vençuts.
Lectures similars
- Com utilitzar l'espai VBA Funció a Excel (3 exemples)
- Utilitzar la funció ChDir de VBA a Excel (4 exemples adequats)
- Com utilitzar la funció IsNull a Excel VBA (5 exemples)
- Utilitza VBA mentre Wend declaració a Excel (4 exemples)
- Com trucar a un sub en VBA a Excel (4 Exemples)
2. Cerqueu l'any de naixement a partir de la data mitjançant VBA
Ara podeu trobar l'any a partir d'una data concreta. És bastant senzill de trobar.
Feu una ullada al conjunt de dades següent:
Aquí podeu veure la data de naixement d'algunes persones. El nostre objectiu és extreure l'any de naixement de la data i també l'any de naixement de l'última entrada Elizabeth.
📌 Pasos
- Primer, premeu Alt+F11 al teclat per obrir l'editor VBA.
- A continuació, seleccioneu Insereix>mòdul .
- Després, escriviuel codi següent:
2004
- A continuació, deseu el fitxer.
- Després, premeu Alt+F8 al teclat per obrir el diàleg Macro quadre.
- A continuació, seleccioneu find_year .
- A continuació, feu clic a Executar .
Finalment, podeu veure que tenim èxit en extreure l'any de naixement de cada data. A més, hem trobat l'any de naixement de l'última entrada utilitzant la data de VBA a Excel.
3. Afegiu dies a la data mitjançant VBA
Ara podeu definir la variable de data i utilitzar-la per afegir la data. Per fer-ho, estem utilitzant el mètode DateAdd de VBA. Podeu utilitzar aquesta funció per afegir dies, mesos i anys a una data concreta.
Feu una ullada al conjunt de dades següent:
Aquí teniu es poden veure alguns noms i algunes dates adjunts. Ara, el nostre objectiu és afegir cinc dies més a aquestes dates donades i generar una nova data.
📌 Passos
- Primer, premeu Alt +F11 al teclat per obrir l'editor VBA.
- A continuació, seleccioneu Insereix>mòdul .
- Després d'això, escriviu el codi següent:
3313
Aquí hem utilitzat "d" com a argument a la funció DataAdd. Podeu canviar-lo a "y" o "m" per afegir anys o mesos respectivament,
- Deseu el fitxer.
- Després, premeu Alt+F8. al teclat per obrir el quadre de diàleg Macro.
- A continuació, seleccioneu.
- A continuació, feu clic a Executar .
Com puguismireu, hem afegit correctament dies a una data utilitzant la data a VBA. Ara, podeu modificar el codi segons la vostra elecció.
💬 Coses a recordar
✎ La funció de data VBA funciona com la funció AVUI a Excel.
✎ VBA DATE és una funció no volàtil a Excel. Això vol dir que conservarà les dades fins i tot si hi ha una interrupció a la font d'alimentació.
✎
Bàsicament, VBA desa els valors de la data com a DATE en el moment de la implementació.
✎
Per tant, si intenteu assignar una variable de data com a cadena/text, provocarà un error.
✎
El valor predeterminat de Data és 0: 00:00 (mitjanit) de l'1 de gener de 0001.
Conclusió
Per concloure, espero que aquest tutorial us hagi proporcionat un coneixement útil sobre la data als codis VBA. Us recomanem que apreneu i apliqueu totes aquestes instruccions al vostre conjunt de dades. Descarrega el quadern de pràctiques i prova-los tu mateix. A més, no dubteu a fer comentaris a la secció de comentaris. Els vostres valuosos comentaris ens mantenen motivats per crear tutorials com aquest.
No oblideu consultar el nostre lloc web Exceldemy.com per trobar diversos problemes i solucions relacionats amb Excel.
Segueix aprenent nous mètodes i segueix creixent!
Funcions de data a VBA que hauríeu d'aprendreAra, a les properes seccions, us mostrarem algunes funcions de data addicionals que podeu utilitzar per a nombrosos propòsits a VBA. Llegiu aquestes seccions per conèixer totes les maneres possibles de treballar amb la data a VBA. Us recomanem que els mantingueu al vostre arsenal. Segurament millorarà els teus coneixements.
1. Funció DataAdd com a data a VBA
A VBA, fem servir la funció DateAdd per afegir dies en una data concreta. Després d'això, retornarà la data resultant.
Sintaxi:
DateAdd(interval, nombre, data)
Arguments:
interval: És obligatori. L'expressió de cadena és l'interval de temps que voleu afegir.
número: Requerit. És una expressió numèrica que és el nombre d'intervals que voleu afegir. Pot ser positiu (per obtenir dates en el futur) o negatiu (per obtenir dates en el passat).
data: La data/hora originals.
Ara, els arguments interval poden tenir la configuració següent:
yyyy – Any
q – Trimestre
m – Mes
a – Dia de l'any
d – Dia
w – Dia laborable
ww – Setmana
h – Hora
n – Minut
s – Segon
Fragment de codi :
6232
Sortida:
Com podeu veure, va afegir 15 dates a la data actual aVBA.
Llegir més: Com utilitzar la funció IsDate a VBA (3 exemples)
2. Funció DataDiff a VBA
La funció DataDiff retorna una Variant (Llarga) que determina el nombre d'espais de temps entre dues dates especificades.
Sintaxi :
DateDiff( interval, data1, data2, [ firstdayofweek, [ firstweekofyear ]] )
Arguments:
interval: És Obligatori. L'expressió de cadena és l'interval de temps que voleu afegir. L'expressió de cadena és el període de temps que feu servir per calcular la distinció entre dues dates.
date1,date2 : Requerit; Variant (Data). Dues dates que voleu utilitzar en el càlcul.
firstdayofweek: Opcional. Una constant que defineix el primer dia de la setmana. Si no es soluciona, s'assumeix diumenge.
primer tweekofyear: Opcional. Una constant que estableix la primera setmana de l'any. Si no s'estableix, se suposa que la primera setmana és la setmana en què apareix l'1 de gener.
Ara, els arguments interval poden tenir la configuració següent:
aaaa – Any
q – Trimestre
m – Mes
y – Dia de l'any
d – Dia
w – Dia laborable
ww – Setmana
h – Hora
n – Minut
s – Segon
L'argument firstdayofweek té aquests paràmetres:
vbSunday –utilitza diumenge com a primer dia de la setmana.
vbMonday : empra dilluns com a primer dia de la setmana.
vbTuesday : funciona dimarts com el primer dia de la setmana.
vbWednesday : empra el dimecres com a primer dia de la setmana.
vbThursday : funciona els dijous com a primer dia de la setmana. més aviat el dia de la setmana.
vbFriday : empra divendres com a primer dia de la setmana.
vbSaturday : funciona dissabte com a primer dia de la setmana.
vbUseSystemDayOfTheWeek : utilitza el primer dia de la setmana que es defineix per la configuració del dispositiu.
El primer dia de l'any. té aquests paràmetres:
vbFirstJan1 : utilitza la setmana que conté l'1 de gener.
vbFirstFourDays : empra la primera setmana que té almenys quatre dies de l'any nou.
vbFirstFullWeek – funciona la primera setmana completa de l'any.
vbSystem – utilitza la primera setmana de l'any nou. any tal com ho defineixin les ubicacions del dispositiu.
Fragment de codi:
4747
Out put :
Al final, retorna la diferència entre les dues dates a VBA.
Llegir més: Com utilitzar la funció DataDiff de VBA a Excel (9 exemples)
3. Funció DatePart com a data
La funció DatePart retorna una Variant (Enter) que conté la part definida de una data proporcionada.
Sintaxi :
DatePart(interval, data, [ firstdayofweek, [firstweekofyear ]])
Arguments:
interval: És obligatori. L'expressió de cadena és l'interval de temps que voleu afegir. L'expressió de cadena és el període de temps que feu servir per calcular la distinció entre dues dates.
data: Requerit; Variant (Data). La data que voleu utilitzar al càlcul.
firstdayofweek: Opcional. Una constant que defineix el primer dia de la setmana. Si no es soluciona, s'assumeix diumenge.
primer tweekofyear: Opcional. Una constant que estableix la primera setmana de l'any. Si no s'estableix, se suposa que la primera setmana és la setmana en què apareix l'1 de gener.
Ara, els arguments interval poden tenir la configuració següent:
aaaa – Any
q – Trimestre
m – Mes
y – Dia de l'any
d – Dia
w – Dia laborable
ww – Setmana
h – Hora
n – Minut
s – Segon
L'argument firstdayofweek té aquests paràmetres:
vbSunday : utilitza diumenge com a dia principal de la setmana.
vbMonday : empra dilluns com a primer dia de la setmana.
vbTuesday : funciona dimarts com a primer dia de la setmana.
vbWednesday : empra el dimecres com a primer dia de la setmana.
vbThursday : funciona dijous com el dia més aviat de lasetmana.
vbDivendres : empra divendres com a primer dia de la setmana.
vbSaturday : funciona dissabte com a primer dia de la setmana.
vbUseSystemDayOfTheWeek : utilitza el primer dia de la setmana que es defineix per la configuració del dispositiu.
El firstweekofyear té aquests valors:
vbFirstJan1 – funciona la setmana inclòs l'1 de gener.
vbFirstFourDays – utilitza la primera setmana que té quatre dies com a molt inferiors a el nou any.
vbFirstFullWeek : utilitza la primera setmana completa de l'any.
vbSystem : utilitza la primera setmana de l'any tal com s'ha seleccionat segons les ubicacions del vostre dispositiu.
Fragment de codi :
8845
Sortida :
D'aquesta manera, podeu utilitzar aquesta funció de data en codis VBA.
Llegir més: Com utilitzar la funció VBA FileDateTime a Excel (3 usos)
4. Funció DateSerial
Podeu veure una data basada en un any, mes i dia introduïts mitjançant la funció DateSerial .
Sintaxi:
DataSerial(any, mes, dia)
Arguments:
any – Camp obligatori. Un nombre entre 100 i 9999, inclosos, o una expressió numèrica que simbolitzi l'any.
mes – Camp obligatori. Un valor enter que defineix el mes.
dia – Camp obligatori. Un valor enter que descriu el dia.
Fragment de codi:
4359
Sortida :
Llegir més: Com utilitzar VBA TimeSerial a Excel (3 exemples)
4. VBA Funció DateValue
Ara, utilitzem la funció DateValue per definir una data.
Sintaxi :
DateValue(data)
Argument:
Aquí, l'argument data sol ser una expressió de cadena que descriu una data des de l'1 de gener de 100 , fins al 31 de desembre de 9999. Independentment, la data pot, a més, qualsevol expressió que pugui simbolitzar una data, una hora o una data i una hora en aquest interval.
Fragment de codi:
2124
Sortida :
Com podeu veure, hem utilitzat correctament la funció de data als codis VBA.
5. Funció de dia en VBA
Retorna una Variant (Enter) que determina un nombre real entre 1 i 31, inclosos, que transmet el dia del mes.
Sintaxi :
Dia(data)
Argument:
L'argument de data requerit és qualsevol variant , expressió numèrica, expressió de cadena o qualsevol combinació. Representa una data. Si la data inclou Null, també retornarà Null.
Fragment de codi:
8152
Sortida:
Com podeu veure, utilitzant els codis VBA hem trobat que el dia de la data indicada és el 12.
Contingut relacionat: Funció de format VBA a Excel (8 usos amb exemples)
6. Funció del mes VBA com a data
Retorna una Variant (Enter) que defineix un nombre real entre 1 i 12,inclòs, que transmet el mes de l'any.
Sintaxi :
Mes(data)
Argument:
L'argument de data requerit és qualsevol Variant, expressió numèrica, expressió de cadena o qualsevol combinació. Representa una data. Si la data inclou Null, també retornarà Null.
Fragment de codi:
9944
Sortida:
Contingut relacionat: Com utilitzar la funció correcta de VBA a Excel (6 exemples)
Lectures similars
- Com utilitzar la funció VBA Environ (4 exemples)
- Com utilitzar VBA i la funció a Excel (4 exemples)
- VBA If - Then - Else Statement a Excel (4 exemples)
- Com utilitzar la funció VBA Abs a Excel (9 exemples)
- Com utilitzar Concatenar a Excel VBA (4 mètodes)
7. Funció MonthName
Retorna una cadena que mostra el mes especificat.
Sintaxi :
MonthName(mes, [abreujat ])
Argument:
mes: És obligatori. El títol numèric del mes. Per exemple, gener és 1, febrer és 2 i així successivament.
abreujar: És opcional. Valor booleà que demostra si s'ha d'abreujar el nom del mes. Si s'omet, el valor predeterminat és Fals, que indica que el nom del mes no està abreujat.
Fragment de codi:
3889
Sortida:
Com podeu veure, hem trobat el nom del mesper aquesta funció de data de VBA.
8. Funció de dia laborable
Retorna una Variant ( Enter ) que posseeix un nombre real que expressa el dia del setmana.
Sintaxi :
Dia de la setmana (data, [ primer dia de la setmana ])
Argument:
data: L'argument de data requerit és qualsevol Variant, expressió numèrica, expressió de cadena o qualsevol combinació. Representa una data. Si la data inclou Null, també tornarà Null.
firstdayofweek: Opcional. Una constant que defineix el primer dia de la setmana. Si no es corregeix, s'assumeix diumenge.
L'argument firstdayofweek té aquests paràmetres:
vbSunday : utilitza diumenge com a el primer dia de la setmana.
vbMonday : empra dilluns com a primer dia de la setmana.
vbTuesday : funciona dimarts com a primer dia de la setmana.
vbWednesday : empra el dimecres com a primer dia de la setmana.
vbThursday : funciona dijous com a dia més aviat de la setmana.
vbFriday : empra divendres com a primer dia de la setmana.
vbSaturday : funciona dissabte com a primer dia de la setmana .
vbUseSystemDayOfTheWeek : utilitza el primer dia de la setmana que es defineix per la configuració del dispositiu.
Paràmetres de retorn
Ara, aquesta funció retorna un nombre enter. Per tant, el significat d'aquests nombres enters és el següent:
1 –