Che cos'è la funzione DateValue di VBA?
Una funzione DateValue è una funzione incorporata in Excel VBA nella categoria della funzione Data / ora. Funziona sia come funzione VBA che come funzione foglio di lavoro in VBA. Questa funzione restituisce il numero seriale o il valore di Date fornito nel formato di rappresentazione stringa ignorando le informazioni sull'ora fornite dalla stringa Date. Viene utilizzato in due modi diversi in Excel. Questa funzione viene utilizzata come formula del foglio di lavoro che entra in una cella del foglio di lavoro. Viene utilizzato come codice macro nell'applicazione VBA, inserendolo tramite Visual Basic Editor associato a Microsoft Excel.
In questo articolo, impareremo esempi di VBA DATEVALUE e come usarlo con una chiara spiegazione.

Spiegazione della funzione Datevalue VBA
In VBA, DATEVALUE utilizza la seguente sintassi.

Questa funzione utilizza solo il singolo argomento o parametro
- Data : è la data rappresentata nel formato stringa
- Restituisce: questa funzione restituisce il valore della data quando viene utilizzata come funzione VBA. Restituisce il valore della data quando viene utilizzato come funzione del foglio di lavoro
La funzione VBA DateValue è in grado di interpretare i dati rappresentati in formato testo menzionato in un formato Excel valido. Non è in grado di restituire il valore della data se la stringa include la rappresentazione testuale del giorno della settimana.
I vantaggi della funzione DateValue VBA sono l'estrazione del valore della data dalla stringa e la conversione della data con l'ora nell'unica data. Possiamo semplicemente che quando una data viene fornita con l'ora, questa funzione solo il valore della data evitando il valore dell'ora.
Come utilizzare Excel VBA DATEVALUE?
Per utilizzare la funzione DateValue in Excel, è necessario prima aprire l'editor VBA.
Il pulsante di comando deve essere posizionato nel foglio di lavoro di Excel per aggiungere le righe del programma VBA ad esso. Per implementare le linee del programma, l'utente richiede di fare clic sul pulsante di comando nel foglio excel. Per avere un output valido dal programma, viene fornito un input valido tramite l'argomento. Ad esempio, il codice seguente aiuta la creazione di una macro per eseguire la funzione DateValue per estrarre il valore della data dal testo in VBA.
Programma VBA:
Sub Datebutton () Dim myDate As Date myDate = DateValue ("August 15, 1991") MsgBox Date (myDate) End Sub
Questo codice risulta nella data come 15 dall'input specificato.
Esempi di Excel VBA DATEVALUE
Di seguito sono riportati gli esempi di DateValue in Excel VBA.
Esempio n. 1: ottieni giorno, mese e anno da una data
Sono seguiti pochi passaggi per creare ed eseguire il programma in VBA. Quelli includono
Passaggio 1: vai alla scheda Sviluppatore, posiziona il cursore su una cella nel foglio Excel e fai clic sull'opzione "Inserisci" e scegli "Pulsante di comando" sotto Controllo ActiveX, come mostrato nella figura.

Trascina il pulsante nel punto desiderato e assegna alla didascalia il pulsante Data dalla finestra delle proprietà.

Passaggio 2: fare doppio clic sul pulsante; reindirizzerà al progetto VBA e scriverà il codice tra il pulsante di comando secondario privato e il sottotitolo finale.
Il codice dovrebbe essere sviluppato come di seguito per ottenere una data, un mese e un anno.
Codice:
Private Sub Datebutton1_Click () Dim Exampledate As Date Exampledate = DateValue ("April 19,2019") MsgBox Date MsgBox Year (Exampledate) MsgBox Month (Exampledate) End Sub

In questo codice, Datebutton1_Click () è il nome e la data di esempio è variabile con il tipo di dati Date e Msgbox per visualizzare l'output.
Passaggio 3: durante lo sviluppo del codice, si verificheranno errori di mancata corrispondenza del tipo VBA e sarà necessario occuparsene.
Passaggio 4: in questo passaggio, eseguire il programma facendo clic sull'opzione Esegui.

Oppure possiamo controllare o eseguire il debug del programma passo dopo passo, selezionando l'opzione Entra nel menu Debug. Se il nostro codice è senza errori, visualizza l'output.

Passaggio 5 : quando il programma viene eseguito, visualizza prima la finestra di messaggio con la data specificata nell'input di testo. Quindi, fare clic su OK per vedere di nuovo il valore dell'anno, fare clic su OK nella finestra del messaggio per vedere il valore del mese.

Esempio n. 2: utilizzo di DatePart per ottenere le diverse parti di Date
Passaggio 1: vai alla scheda Sviluppo di Excel, posiziona il cursore su una cella nel foglio Excel e fai clic sull'opzione "Inserisci" e scegli "Pulsante di comando" sotto Controllo ActiveX, come mostrato nella figura.

Passaggio 2: trascina il pulsante e inserisci la didascalia come DatePart sotto le proprietà.

Fare doppio clic su questo pulsante. Indirizza al foglio di Visual Basic Editor e viene visualizzato come segue.
Step 3: Develop the code using the DatePart with DateValue, as shown in the figure.
Code:
Private Sub Datepart1_Click() Dim partdate As Variant partdate = DateValue("8/15/1991") MsgBox partdate MsgBox Datepart("yyyy", partdate) MsgBox Datepart("dd", partdate) MsgBox Datepart("mm", partdate) MsgBox Datepart("q", partdate) End Sub

In this program, DatePart1 is the macro name, and partDate is the argument name with data type ‘variant.’ For displaying year, date, month, and a quarter, the format is applied as “yyyy,” “d,” “m,” and “q.” If we make any mistake in the format, it displays the following error.

Step 4: After successful debugging of the program, run the program by clicking on the run button to use excel shortcut key F5.
The code first displays the full date, and then after clicking every OK from the msgbox, it shows the year value after that Date value, Month Value, Quater Value, respectively.

Things to Remember About the VBA DATEVALUE
The following things must be remembered while using the DateValue function in Excel VBA
- Run time error 13 with message Type Mismatch is displayed when the date provided to the DateValue function is not able to convert into a valid date. We need date is a proper text format
- When we try to get the only date from the string argument with code ‘msgbox date (argument name),’ it displays the type mismatch error.
- We can see the output of the DateValue function without opening the VBA editor. It is done by clicking the command button and select the macro created for the respective program.
- Quando DatePart viene utilizzato per ottenere i valori, è necessario seguire il formato appropriato. Altrimenti, porta "errore di runtime 5" con chiamata o argomento di procedura non valida del messaggio.