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 ExcelVBA 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:
- Formato data VBA
- Funzione Excel DATEDIF
- VBA DateSerial
- Funzione Excel DATEDIF