Questo tutorial dimostrerà come formattare le date utilizzando VBA.
Formatta le date in VBA
Esistono due metodi per formattare le date utilizzando VBA.
- La proprietà NumberFormat delle celle / intervalli-Per formattare le date memorizzate nelle celle
- La funzione di formato VBA-Per formattare le date in VBA (es. variabili)
NumberFormat-Dates
Il formato numerico predefinito di una cella in Excel è Generale. È possibile visualizzare i valori come numeri, testo, date, percentuali o valute modificando il formato numerico. La proprietà NumberFormat può essere utilizzata in VBA per impostare il formato numerico delle date in una cella o in un intervallo.
Nota: Per vedere i diversi formati di data standard disponibili in Excel, vai al numero Home > e vedrai opzioni come Data breve, Data lunga e ora.
Data breve
L’opzione di formattazione del numero di data breve visualizza la data in un formato numerico breve.
Il seguente codice imposterà il .Proprietà NumberFormat della cella A1 a data breve:
1
|
Gamma (“A1”).NumberFormat = “mm / gg / aaaa”
|
Data lunga
La formattazione del numero di data lunga visualizza la data in un formato scritto più lungo. Il seguente codice imposterà il .Proprietà NumberFormat della cella A1 a data lunga:
1
|
Gamma (“A1”).NumberFormat = “dddd, mmmm gg, aaaa”
|
Date personalizzate
Per visualizzare i codici di formato dei numeri personalizzati che è possibile utilizzare in VBA per formattare le date, andare a Home> Numero e fare clic sulla finestra di dialogo Launcher. Selezionare la scheda Numero e scegliere Personalizzato.
È possibile selezionare i formati personalizzati incorporati per la data o creare i propri formati di data definiti dall’utente. Il seguente codice imposterà il .Proprietà NumberFormat della cella A1 in un formato di data personalizzato incorporato:
1
|
Gamma (“A1”).NumberFormat = “mmm-aa”
|
Il risultato è:
Il seguente codice imposterà il .Proprietà NumberFormat della cella A1, in un formato di data personalizzato definito dall’utente:
1
|
Gamma (“A1”).NumberFormat = “dddd-gg-mmm-aa”
|
Il risultato è:
Rivedendo gli esempi predefiniti di Excel puoi imparare come inserire i numeroformati. Per ulteriori informazioni, leggere la documentazione di Microsoft sui formati numerici per le date.
Funzione di formato VBA
Come menzionato sopra, il metodo NumberFormat è appropriato per impostare il Numberformat delle date memorizzate nelle celle di Excel. In VBA, è possibile utilizzare la funzione Formato per convertire le date in stringhe con una certa formattazione della data.
Dovresti usare la seguente sintassi per formattare le date:
Format (String_Representation, NumberFormatCode) dove:
String_Representation – la stringa di testo che rappresenta la data.
NumberFormatCode-il codice del formato numerico che specifica il modo in cui la data deve essere visualizzata.
Il seguente codice mostra come formattare una rappresentazione di stringa di testo di una data come formato di data lungo:
1
|
MsgBox Formato(“1/1/2010”, “dddd, gg mmmm aaaa”)
|
Il risultato è:
si Noti che la Funzione Format utilizza la stessa data di sintassi di formattazione come NumberFormat sopra.
Il seguente codice mostra come formattare una rappresentazione di stringa di testo di una data come formato di data medio:
1
|
MsgBox Formato(“09 ottobre 2012”, “Medio Data di”)
|
Il risultato è:
Il codice seguente mostra come formattare una stringa di testo rappresentazione di una data come un formato definito dall’utente:
1
|
MsgBox Formato(“09 ottobre 2012”, “dddd: gg / mm / aa”)
|
VBA Custom Format Builder
Il nostro componente aggiuntivo VBA: AutoMacro contiene un generatore di formati personalizzato per l’editor VBA. Ciò consente di impostare formati personalizzati e visualizzare immediatamente l’output per il valore desiderato:
Il componente aggiuntivo VBA contiene numerosi altri “Generatori di codice”, una vasta libreria di codici e un assortimento di altri strumenti di codifica. E ‘ l’ultimo add-in per chiunque sul serio la programmazione VBA!
Data formato VBA in Access
La funzione Data formato VBA funziona esattamente allo stesso modo in Access VBA come in Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
Funzione GetDateFilter() As String
‘crea una stringa per ottenere informazioni da 2 data di campi di una maschera in Access
Dim strDateField Come Stringa
If IsNull(Me.txtSDate) = False Allora
Se IsNull (Me.txtEDate) = Vero allora me.txtEDate = Me.txtSDate
Se strDateField2 = “”Allora
GetDateFilter = strDateField &” Tra #” & Formato (Me.txtSDate,” mm/gg/aaaa”) & “# E # ” & Formato (Me.Txtato, “mm /gg / aaaa”) & “#”
Fine se
Fine se
Funzione di fine
|