Excel VBA DatePart

Supponiamo di avere date nei nostri dati e non sappiamo che in quale settimana o in quale parte del mese. Esistono vari modi per scoprirlo. In Excel ci sono alcune formule complesse che dobbiamo eseguire per trovarlo. Ad esempio, se esiste una data, 02 febbraio 2019, il calcolo per scoprire il trimestre per questa data in Excel è complesso. Tuttavia, VBA ci fornisce una funzione molto utile chiamata DatePart che esegue tali calcoli per noi.

Ho spiegato sopra ora perché utilizziamo la funzione DatePart in VBA. Questa funzione viene utilizzata per scoprire la parte della data, che si tratti di un giorno, mese settimana trimestre o anche ore o secondi. Questa funzione restituisce l'intero come output. Per saperne di più su questa funzione, esaminiamo innanzitutto la sintassi di questa funzione in dettaglio.

Sintassi di DatePart in Excel VBA

Esaminiamo la sintassi seguente per DatePart in Excel VBA.

Come possiamo vedere, ci sono un totale di quattro argomenti forniti a questa funzione. I primi due argomenti sono obbligatori mentre gli altri due argomenti sono facoltativi. Tuttavia, se non forniamo gli ultimi due argomenti, VBA ha i suoi valori predefiniti per esso.

  • Intervallo: questo argomento viene fornito come stringa per questa funzione. Questo argomento può essere un mese, settimana, anno, giorno o anche ora o minuti o secondi. Ad esempio, per un quarto la sintassi sarà "q", o per l'anno la sintassi sarà "yyyy" e così via.
  • Data: questa è la data di input, che forniamo a questa funzione per la parte che vogliamo scoprire.
  • FirstDayofWeek: questo è un argomento opzionale che diamo a questa funzione. Ma se non forniamo il primo giorno della settimana alla funzione, VBA considera automaticamente DOMENICA come il primo giorno della settimana. Esistono diverse sintassi per fornire questo argomento che è il seguente:

vbUseSystem (Questa sintassi utilizza IMPOSTAZIONE API NLS), vbSunday (questo è l'argomento predefinito), vbMonday, vbTuesday, vbWed Wednesday, vbT giovedì, vbFriday, vbSaturday (resto tutti questi argomenti sono facoltativi da fornire)

  • FirstWeekofYear: questo è anche un argomento facoltativo per questa funzione. Ma ancora una volta, se non forniamo questo argomento, VBA considera automaticamente la prima settimana qualunque sia la prima dal 1 ° gennaio. Anche per questo argomento, ci sono diverse sintassi, sono le seguenti:

vbUseSystem, vbFirstJan1 (Questo è il valore predefinito), vbFirstFourDays (questo argomento inizia con la prima settimana che ha almeno i primi quattro giorni nel nuovo anno), vbFirstFullWeek (Questo argomento inizia con la prima settimana completa dell'anno).

Ora abbiamo imparato a conoscere le funzioni e i suoi argomenti, proviamo questa funzione in esempi.

Come utilizzare la funzione DatePart in Excel VBA?

Di seguito sono riportati i diversi esempi per utilizzare la funzione DatePart in Excel utilizzando il codice VBA.

Puoi scaricare questo modello VBA DatePart Excel qui - Modello VBA DatePart Excel

Excel VBA DatePart - Esempio n. 1

Prendiamo un input dall'utente come data e parte che l'utente vuole scoprire, quindi useremo la funzione DatePart e visualizzeremo il risultato.

Seguire i passaggi seguenti per utilizzare la funzione DatePart in Excel VBA:

Passaggio 1: dalla scheda dello sviluppatore nella sezione codice fare clic su Visual Basic che ci porterà all'editor VB.

Passaggio 2: una volta nell'editor VB, inserire un nuovo modulo nel progetto VBA come mostrato di seguito.

Passaggio 3: Ora fai doppio clic sul modulo e inizia a dichiarare una nuova sottoprocedura come mostrato di seguito.

Codice:

 Campione secondario () End Sub 

Passaggio 4: Definire tre variabili una come stringa e data che conterrà la parte e la data della nostra immissione e un'altra come numero intero che memorizzerà la nostra uscita.

Codice:

 Sottotitolo () Dim Dt As Date, Prt As String, Res As Integer End Sub 

Passaggio 5: nella variabile della data, richiedere l'input dell'utente per la data di inserimento.

Codice:

 Esempio secondario () Dim Dt come data, Prt come stringa, Res come intero Dt = InputBox ("Immettere una data") End Sub 

Passaggio 6: In Prt, che è parte, prendi l'input dell'utente per la parte della data che dobbiamo scoprire.

Codice:

 Esempio secondario () Dim Dt come data, Prt come stringa, Res come intero Dt = InputBox ("Immettere una data") Prt = InputBox ("Immettere data parte") End Sub 

Passaggio 7: Ora in Ris. Variabile che è il risultato, scopriamo il risultato usando la funzione DatePart come segue.

Codice:

 Esempio secondario () Dim Dt come data, Prt come stringa, Res come numero intero Dt = InputBox ("Immettere una data") Prt = InputBox ("Inserisci data parte") Res = DatePart (Prt, Dt) Fine sottotitoli 

Passaggio 8: visualizzare il valore memorizzato in Res utilizzando la funzione msgbox.

Codice:

 Esempio secondario () Dim Dt come data, Prt come stringa, Res come numero intero Dt = InputBox ("Immettere una data") Prt = InputBox ("Inserisci data parte") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

Passaggio 9: Ora eseguiamo il codice sopra premendo il tasto F5 o facendo clic sul pulsante Riproduci e fornisci una data come segue.

Passaggio 10: immettere il valore della parte della data.

Passaggio 11: premere OK per vedere il risultato come mostrato di seguito.

Di conseguenza ne otteniamo 1 poiché la data fornita come input cade nel primo trimestre dell'anno.

Excel VBA DatePart - Esempio n. 2

Questa volta forniamo la data direttamente alla funzione nel codice. Seguire i passaggi seguenti per utilizzare la funzione DatePart in Excel VBA:

Passaggio 1: nello stesso modulo definire un'altra sottoprocedura come mostrato di seguito.

Codice:

 Sub Sample1 () End Sub 

Passaggio 2: definire una variabile come numero intero e una variabile come data come mostrato di seguito.

Codice:

 Sub Sample1 () Dim Dt As Date, Res As Integer End Sub 

Passaggio 3: fornire una data alla variabile.

Codice:

 Sub Sample1 () Dim Dt As Date, Res As Integer Dt = # 2/2/2019 # End Sub 

Passaggio 4: nella variabile Res, calcoliamo la settimana della data utilizzando la funzione DatePart.

Codice:

 Sub Sample1 () Dim Dt As Date, Res As Integer Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Passaggio 5: visualizzare il valore memorizzato nella variabile utilizzando la funzione msgbox.

Codice:

 Sub Sample1 () Dim Dt As Date, Res As Integer Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Passaggio 6: eseguire il codice precedente premendo il tasto F5 o facendo clic sul pulsante Riproduci per ottenere il seguente risultato.

La data che abbiamo fornito come input cade nella quinta settimana dell'anno.

Excel VBA DatePart - Esempio n. 3

Proviamo qualche esempio di vita reale. Nel foglio 1 nella cella A1, ho usato la formula = Now () per ottenere la data e l'ora correnti e scopriremo la parte della data per questa cella.

Seguire i passaggi seguenti per utilizzare la funzione DatePart in Excel VBA:

Passaggio 1: nello stesso modulo, definire un'altra sottoprocedura come segue.

Codice:

 Sub Sample2 () End Sub 

Passaggio 2: definire due variabili una come Data e un'altra come numero intero.

Codice:

 Sub Sample2 () Dim Dt As Date, Res As Integer End Sub 

Passaggio 3: nella variabile Dt store il valore della cella A1 è il seguente.

Codice:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Valore End Sub 

Passaggio 4: Ora nella variabile res, calcoliamo la parte della settimana per l'input utilizzando la funzione DatePart.

Codice:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Valore Res = DatePart ("ww", Dt) End Sub 

Passaggio 5: visualizzare il valore memorizzato nella variabile utilizzando la funzione Msgbox.

Codice:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Valore Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Passaggio 6: eseguire il codice precedente premendo il tasto F5 o facendo clic sul pulsante Riproduci per ottenere il seguente risultato.

La data attuale è il 25 luglio, ovvero la 30a settimana dell'anno 2019.

Cose da ricordare

  • È la funzione data ma restituisce un valore intero.
  • I primi due argomenti sono obbligatori mentre gli altri due argomenti sono facoltativi.
  • VBA ha i suoi argomenti predefiniti se non forniamo gli ultimi due argomenti alla funzione DatePart.
  • Questa funzione è una funzione VBA e non una funzione di foglio di lavoro.

Articoli consigliati

Questa è una guida a VBA DatePart. Qui discutiamo come usare la funzione DatePart in Excel usando il codice VBA insieme ad alcuni esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA DateAdd
  2. OGGI Formula in Excel
  3. Funzione data VBA
  4. ORA funzione Excel
  5. Come utilizzare il formato data VBA in Excel?
  6. Dove scrivere il codice in VBA?

Categoria: