Funzione Excel VBA CDate

Hai mai sentito parlare della funzione o del comando con cui possiamo convertire qualsiasi cosa in data e ora? Sì, insieme alla funzione Date abbiamo la funzione CDate in VBA che lo fa. CDate è la funzione di Excel ma questo può essere fatto anche in VBA. CDate converte qualsiasi cosa tranne che nel formato data standard. Questo può essere usato anche per convertire l'ora insieme a Data.

La sintassi di CDate è la sintassi più semplice che abbiamo mai visto. CDate considera solo espressioni come Data e ora in qualsiasi formato come input. Di seguito è la sintassi di esso.

Dobbiamo solo inserire qualsiasi numero, data o ora in qualsiasi formato che abbiamo e CDate lo convertirà automaticamente nel formato standard di data e ora.

Come utilizzare la funzione CDBA VBA di Excel?

Impareremo come utilizzare una funzione CDate VBA con alcuni esempi in Excel.

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

VBA CDate - Esempio n. 1

Faremo prima un semplice esempio. In questo esempio, proveremo a convertire un semplice tipo di data in un formato standard che è effettivamente incorporato in Excel per impostazione predefinita.

Seguire i passaggi seguenti per utilizzare la funzione CDate in VBA.

Passaggio 1: aprire un modulo disponibile nella scheda del menu Inserisci come mostrato di seguito.

Passo 2: Ora scrivi la sottoprocedura di VBA CDate con qualsiasi nome come mostrato di seguito. Ma si consiglia di scrivere principalmente il nome della sottoprocedura nel nome del lavoro eseguito.

Codice:

 Sub VBA_CDate () End Sub 

Passaggio 3: ora dichiarare una variabile diciamo che è Input1 come stringa . Considerando il tipo di dati come String perché citeremo l'input nella combinazione di numeri e alfabeti.

Codice:

 Sottotitolo VBA_CDate () Dim Input1 Come sottotitolo stringa 

Step 4: Ora dichiareremo un'altra variabile con la quale vedremo l'output. E questa variabile verrà utilizzata per visualizzare le date.

Codice:

 Sub VBA_CDate () Dim Input1 Come String Dim Formato Data Come Data Fine Sott 

Passaggio 5: ora scegli una data che sia nella combinazione di numeri e alfabeti e citala tra virgolette come mostrato di seguito.

Codice:

 Sub VBA_CDate () Dim Input1 Come String Dim FormatDate As Date Input1 = "1 settembre 2019" End Sub 

Passaggio 6: per convertire la data di input in un formato standard useremo la funzione CDate come mostrato di seguito con la variabile FormatDate che è stata dichiarata sopra. E usa il valore memorizzato nella variabile Input1.

Codice:

 Sub VBA_CDate () Dim Input1 Come String Dim FormatDate As Date Input1 = "1 settembre 2019" FormatDate = CDate (Input1) End Sub 

Step 7: E per vedere l'output useremo Msgbox per assegnarlo con la funzione FormatDate di Date.

Codice:

 Sub VBA_CDate () Dim Input1 Come String Dim FormatDate As Date Input1 = "1 settembre 2019" FormatDate = CDate (Input1) MsgBox FormatDate End Sub 

Passaggio 8: eseguire ora il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci. Otterremo la data che abbiamo scelto come 1 settembre 2019, ora viene convertita nel formato data standard come 9/1/2019 come mostrato di seguito.

Possiamo provare diverse combinazioni multiple di date che esistono davvero e vedere che tipo di output standard otteniamo.

VBA CDate - Esempio n. 2

In questo esempio, vedremo diversi tipi di data e ora che esistono e che tipo di output otterremmo usando VBA CDate. Per questo seguire i passaggi seguenti:

Passaggio 1: scrivere la sottoprocedura di VBA CDate come mostrato di seguito.

Codice:

 Sottotitolo VBA_CDate2 () End Sub 

Passaggio 2: ora dichiareremo 3-4 diverse variabili del tipo di dati Data. Dichiariamo la prima variabile come Date1 e assegniamo il tipo di dati come Data come mostrato di seguito.

Codice:

 Sottotitolo VBA_CDate2 () Dim Date1 As Data Fine Sott 

Passaggio 3: ora assegna qualsiasi numero che vogliamo convertirlo nel formato data. Abbiamo scelto un numero casuale come 12345.

Codice:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" End Sub 

Passaggio 4: in modo simile, definire un'altra variabile Date2 come tipo di data Date, come mostrato di seguito.

Codice:

 Sottotitolo VBA_CDate2 () Dim. Data1 come data Data1 = "12345" Dim dim. Data2 come data Fine 

Passaggio 5: Ora di nuovo nella variabile Date2, considera di inserire una data in qualsiasi formato. Qui abbiamo mantenuto il 3/3/45 come input per la nostra data.

Codice:

 Sottotitolo VBA_CDate2 () Data dim1 come data Data1 = "12345" Data dim2 come data Data2 = "12/3/45" End Sub 

Passaggio 6: Inoltre, dichiareremo nuovamente un'altra variabile Date3 come Data.

Codice:

 Sottotitoli VBA_CDate2 () Data dim1 come data Data1 = "12345" Data dim2 come data Data2 = "12/3/45" Data dim3 come data Sottos 

Step 7: Qui assegneremo il valore di qualsiasi momento come mostrato sotto come 12:10 PM nel formato 24 ore.

Codice:

 Sottotitolo VBA_CDate2 () Data dim1 come data Data1 = "12345" Data dim2 come data Data2 = "12/3/45" Data dim3 come data Data3 = "00:10:00" Fine sottotitoli 

Step 8: Ora infine dichiareremo un'altra variabile Date4 come Date.

Codice:

 Sottotitoli VBA_CDate2 () Data dim1 come data Data1 = "12345" Data dim2 come data Data2 = "12/3/45" Data dim3 come data Data3 = "00:10:00" Data dim4 come data Fine Sottotitoli 

Step 9: E qui daremo un valore decimale come 0.123 oppure puoi scegliere qualsiasi valore come richiesto.

Codice:

 Sottotitoli VBA_CDate2 () Data dim1 come data Data1 = "12345" Data dim2 come data Data2 = "12/3/45" Data dim3 come data Data3 = "00:10:00" Data dim4 come data Data4 = "0.123" Fine sottotitoli 

Ora ci sono 2 modi per vedere l'output dei valori memorizzati in varie variabili dichiarate sopra. MsgBox ci permetterà di vedere tutti i valori contemporaneamente ma usando Debug.print ci permetterà di vedere tutte le variabili in uscita in una volta sola.

Passo 10: Quindi, qui è meglio se scegliamo Debug.Print come mostrato di seguito. E nella stessa riga assegnare tutte le variabili a partire dalla Data 1 alla Data 4.

Codice:

 Sub VBA_CDate2 () Dim Date1 As Date Date1 = "12345" Dim Date2 As Date Date2 = "12/3/45" Dim Date3 As Date Date3 = "00:10:00" Dim Date4 As Date Date4 = "0.123" Debug. Stampa Data1, Data2, Data3, Data4 Fine Sottotitoli 

Passo 11: E per vedere l'output, useremo la finestra immediata come mostrato di seguito. Per accedervi, vai alla scheda del menu Visualizza e seleziona Finestra immediata come mostrato di seguito.

Passo 12: Ora esegui il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci. Vedremo, il tipo di dati data ci ha fornito l'output ma non è in un formato dati standard.

Step 13: Per ottenere i dati standard, useremo anche CDate qui. Quindi, assegneremo CDate per ogni data e ora che abbiamo usato per diverse variabili come mostrato di seguito.

Codice:

 Sotto VBA_CDate2 () Dim Date1 come Data Date1 = CDate ("12345") Dim Date2 As Date Date2 = CDate ("12/3/45") Dim Date3 As Date Date3 = CDate ("00:10:00") Dim Date4 As Date Date4 = Debito CDate ("0.123") Data di stampa 1, Data 2, Data 3, Data 4 Fine Sottotitoli 

Passo 14: Ora esegui il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci.

Vedremo che l'output di Date e CDate è lo stesso, ma c'è una differenza comune di base tra entrambi. Cioè, CDate può convertire qualsiasi tipo di numero nel formato data standard.

Passaggio 15: proviamo qualsiasi testo o alfabeto con CDate e vediamo cosa otteniamo. Quindi abbiamo inserito del testo casuale come abc nella variabile Date4 .

Codice:

 Sotto VBA_CDate2 () Dim Date1 come Data Date1 = CDate ("12345") Dim Date2 As Date Date2 = CDate ("12/3/45") Dim Date3 As Date Date3 = CDate ("00:10:00") Dim Date4 As Date Date4 = CDate ("abc") Debug.Print Date1, Date2, Date3, Date4 End Sub 

Passaggio 16: eseguire nuovamente il codice. Verrà visualizzata una finestra di messaggio con un messaggio di errore come Tipo non corrispondente . Questo perché CDate non può leggere e convertire il testo in un formato standard di data e ora.

Pro e contro di Excel VBA Funzione CDate

  • Questo può convertire qualsiasi data o ora nel formato standard come richiesto.
  • VBA CDate interpreta qualsiasi numero come valore Data e successivamente lo converte in un formato standard.
  • Non può interpretare e convertire il testo in formato data.

Cose da ricordare

  • CDate può solo considerare i numeri come input ma quel numero può essere in qualsiasi formato.
  • Il valore del testo non può essere convertito.
  • Se forniamo un orario o una data che è già nel formato standard, restituirà nuovamente lo stesso valore dell'output.
  • La funzione di data e CDate funziona allo stesso modo. Mentre con CDate possiamo convertire sia l'ora che la data.

Articoli consigliati

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

  1. Formato data VBA
  2. Funzione Excel DATEDIF
  3. VBA DateSerial
  4. Funzione Excel DATEDIF

Categoria: