Data formato VBA - Come modificare il formato della data nel codice VBA?

Data formato Excel VBA

Per formattare una data in VBA usiamo la funzione FORMAT incorporata stessa, prende l'input come formato della data e restituisce il formato desiderato richiesto, gli argomenti richiesti per questa funzione sono l'espressione stessa e il tipo di formato.

La formattazione di data e ora sono cose delicate in Excel e la stessa cosa si applica anche a VBA. La data e l'ora predefinite si basano sulla data di sistema su cui stiamo lavorando, che può variare da sistema a sistema. In questo articolo, ti mostreremo diverse tecniche per la formattazione delle date con i codici VBA.

Per modificare il formato della data con la codifica VBA, dobbiamo essere consapevoli di quali sono i formati della data e del suo impatto sulla data.

La tabella seguente mostra la diversa formattazione della data e i relativi codici.

Quindi, se tieni presente il grafico sopra, la formattazione della data tramite la codifica VBA non è affatto un compito difficile.

Come modificare il formato della data in VBA?

Di seguito sono riportati gli esempi del formato della data VBA di Excel.

Esempio 1

Ad esempio, abbiamo la stessa data in più celle del foglio di lavoro, come mostrato di seguito.

Ora applicheremo formati di data diversi per la stessa data per vedere l'impatto con codici di formato data diversi.

Innanzitutto, copia gli stessi dati anche nella colonna successiva per vedere l'impatto.

Per la prima data, ovvero la cella A1, applicheremo il formato "GG-MM-AAAA" .

Nel codice prima, dobbiamo selezionare la cella utilizzando l' oggetto RANGE .

Codice:

Sub Date_Format_Example1 () Range ("A1") End Sub

Poiché stiamo modificando il formato della data della cella, dobbiamo accedere alla proprietà " Formato numero " dell'oggetto RANGE.

Codice:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub

Dopo aver effettuato l'accesso a " Formato numero " , è necessario impostare il formato del numero inserendo il segno di uguale e applicare il codice del formato tra virgolette.

Codice:

Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Questo cambierà la data a "23-10-2019" End Sub

Quando eseguiamo questo codice, applicheremo il formato numerico alla cella A1 come " GG-MM-AAA".

Produzione:

Esempio n. 2

Allo stesso modo, ho applicato codici di formattazione diversi anche per altre celle e di seguito è riportato il codice VBA per te.

Codice:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-yyy" "Questo cambierà la data in" 23-10-2019 "Range (" A2 "). NumberFormat =" ddd-mm-yyy " "Questa operazione cambierà la data in" Mercoledì-10-2019 "Intervallo (" A3 "). NumberFormat =" dddd-mm-yyy "" Questo cambierà la data in "Mercoledì-10-2019" Intervallo ("A4") .NumberFormat = "dd-mmm-yyy" 'Questo cambierà la data in "23-Oct-2019" Range ("A5"). NumberFormat = "dd-mmmm-yyy"' Questo cambierà la data in "23- Ottobre-2019 "Range (" A6 "). NumberFormat =" dd-mm-yy "" Questo cambierà la data in "23-10-19" Range ("A7"). NumberFormat = "ddd mmm yyyy" 'Questo cambierà la data in "Mercoledì ottobre 2019"Intervallo ("A8"). NumberFormat = "dddd mmmm yyyy" 'Questa operazione cambierà la data in "mercoledì ottobre 2019" End Sub

Il risultato di questo codice sarà il seguente.

Produzione:

Modificare il formato della data utilizzando la funzione FORMAT

In VBA, abbiamo una funzione chiamata FORMATO, che può essere utilizzata per applicare il formato desiderato alla cella.

Dobbiamo solo specificare qual è il valore per "Espressione" e applicare il "Formato" di conseguenza.

Guarda il codice seguente per un esempio.

Codice:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 Formato MsgBox (MyVal, "DD-MM-YYYY") End Sub

Nel codice sopra, ho definito la variabile come variante (che può contenere qualsiasi valore).

Codice:

Dim MyVal As Variant

Successivamente per questa variabile, ho assegnato il valore come 43586.

Codice:

MyVal = 43586

Next, in the message box, I have shown the result of the variable, but before we show the result, we have used the “FORMAT” function to format the value of the variable “MyVal,” and the format is given. “DD-MM-YYYY.”

Code:

MsgBox Format(MyVal, "DD-MM-YYY")

Ok, let’s run the code and see the result in the message box in VBA.

Output:

As you can see above, the result shows as “01-05-2019”.

Now you must be wondering we have supplied the serial number but the result showing as the date. This is because Excel stores the date as serial numbers, so the value 43586 is equal to the date “01-05-2019,” and if you increase the number by 1 i.e., 43587, the date will be “02-05-2019”.

Code:

Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 Formato MsgBox (MyVal, "DD-MM-YYY") End Sub

Cose da ricordare

  • La data predefinita del tuo sistema verrà applicata anche al tuo Excel.
  • La proprietà Formato numero può essere utilizzata per modificare il formato della data in VBA.
  • Usando la funzione FORMAT, possiamo cambiare il formato della data.
  • Excel memorizza la data come numeri di serie e, se si applica il formato della data, verrà visualizzato di conseguenza.

Articoli interessanti...