Funció VBA DatePart | Com es pot retornar una part de data especificada?

Funció DataPart d'Excel VBA

DatePart a VBA s’utilitza per identificar la part de la data de la data donada com a argument, la part de la data pot ser dies o mesos o any o fins i tot l’hora minuts i segons, la sintaxi d’aquesta funció s’aclareix molt i és igual que segueix, Data (interval, data com a argument).

Sintaxi

A continuació es mostra la sintaxi de la funció DatePart:

  • Interval: Les dades que s'han de passar en un argument d'interval són de tipus cadena, cosa que significa que aquest argument pot contenir qualsevol valor vàlid. L'interval pot ser de l'any, mes, trimestre, dia, setmana, hora, minut, segon.
  • Data: El valor de la data que cal avaluar.
  • primer dia de la setmana: Aquest és un paràmetre opcional. Això descriu el primer dia de la setmana, fins i tot es pot ignorar. Si s'ignora aquest paràmetre, el diumenge serà automàticament el primer dia de la setmana. Si voleu canviar això, es pot utilitzar aquest paràmetre. Aquest argument pot consistir en vbUseSystem 0.

Utilitzeu la configuració de l'API NLS

vbDiumenge (per defecte), vbDilluns, vbDimarts, vbDimecres, vbDi dijous vbDivendres, vbDissabte.
  • primer setmana: De la mateixa manera, el paràmetre superior, també és un paràmetre opcional. Es descriu la primera setmana de l'any. Aquest paràmetre també es pot ignorar. Si s'ignora aquest paràmetre, se suposa que l'1 de gener és la primera setmana de l'any. Si voleu canviar això, es pot utilitzar aquest paràmetre.

    Aquest argument pot consistir en els següents valors.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Després de donar tots els paràmetres, Datepart () retornarà el valor numèric, com ara la data sencera o l'any o el mes o el trimestre, etc. Per tant, el tipus de retorn d'aquesta funció serà un valor numèric.

Com s'utilitza la funció DatePart a VBA?

Podeu descarregar aquesta plantilla Excel de VBA DatePart aquí - Plantilla Excel de VBA DatePart

Exemple 1

El primer exemple és mostrar també la data completa i el trimestre d’aquest mes.

Per aconseguir-ho, hem d’escriure algun codi a Visual Basic, per a aquesta pestanya Anar al desenvolupador i, a continuació, fer clic a Visual Basic i llavors s’obrirà una finestra.

En aquesta finestra escriviu el codi tal com es mostra a continuació.

Codi:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'mostra trimestre Final Sub 

En aquest exemple, hem utilitzat la funció Datepart per mostrar la data i una part de la data que és un quart de la data. Es mostra quin trimestre de l'any és la data d'entrada.

Si depurem el codi, la data es mostrarà com a data completa per primera vegada quan el codi executa "Msgbox mydate" perquè la data aleatòria s'assigna a la variable "mydate".

A continuació, mostrem quin trimestre de l'any correspon a aquesta data.

Quan executeu el codi manualment o amb la tecla de drecera F5, la data es mostrarà com es mostra després de fer clic a D'acord. A continuació, es mostrarà el quart de la data, que es pot mostrar a la captura de pantalla següent.

De la mateixa manera, el trimestre, només es pot mostrar la data, el mes o l'any.

Exemple 2

En aquest exemple, introduiré la data manualment al temps d'execució.

Codi:

 Sub date1_datePart () Dim TodayDate as Date 'Declareu les variables. Dim Msg TodayDate = InputBox ("Introduïu una data:") Msg = "Trimestre:" & DataPart ("q", TodayDate) MsgBox Msg End Sub 

En aquest exemple, intentem obtenir la data manualment en temps d'execució. El codi "TodayDate = InputBox (" Introduïu una data: ")" en aquesta línia indica que la data es pot introduir manualment,

Després d’introduir la data manualment, mostra el quart de la data en un quadre de missatges. Això es pot mostrar a la captura de pantalla següent.

Com que el mes de juny és al segon trimestre, es mostra el segon trimestre, tal com es mostra a la captura de pantalla anterior.

Exemple 3

En aquest exemple, es completaran tots els valors a les cel·les.

Codi:

 Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hora (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Mes (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub 

Les dates s’omplen a les cel·les del full Excel, per la qual cosa el codi s’escriu com a Active Sheet.cells. Per aquest codi, la data que hi ha pot ser l'any mes o la data es pot inserir a les cel·les indicades.

Per exemple, a la captura de pantalla anterior,

El dia s'ha d'inserir a les cel·les (2, 2) del full Excel. Per tant, el codi s’escriu com a "ActiveSheet.Cells (2, 2). Valor = Dia (DummyDate)".

Executeu el codi amb la tecla F5 o manualment i el resultat seria el que es mostra a continuació.

Per defecte pren la data d’avui i es mostra com a cel·la de 30 a (2,6).

Així mateix, per a la resta de dades també es poden omplir.

Ús de la funció DatePart

  • La funció DatePart es pot utilitzar per mostrar la part de la data tal com indica el nom, és a dir, si només s’ha de mostrar el dia, el mes o l’any de la data, es pot utilitzar aquesta funció.
  • Aquesta funció també separa la data, el mes i l'any d'una data determinada.
  • En utilitzar aquesta funció, la data no només es separa, també podem obtenir el quart, dia, hora, minut i segon.

Coses que cal recordar

  • Aquesta funció només es pot utilitzar com a funció VBA. En Excel normal, no es pot utilitzar.
  • Les dates que s’indiquen com a valor en aquesta funció es poden indicar en qualsevol format, com ara el format mm-dd-aaaa o el format DD-MM-AAAA, etc.
  • Aquesta funció separarà tots els valors per separat, com ara data, mes, any o hora, també una hora, minut i segons.
  • Això s’organitza a Funcions de data i hora a VBA de Microsoft Excel.