Funzione formato VBA

Questo tutorial dimostrerà come utilizzare la funzione Format.

Funzione formato

Formatta numeri con formati predefiniti

La funzione Format può convertire un numero in una stringa formattata con formati numerici denominati predefiniti. Questi formati predefiniti sono Valuta, Fisso, Standard, Percentuale, Scientifico, Sì/No, Vero/Falso e On/Off.

12345678910111213141516171819202122232425262728293031 Sottoformato Esempio_1()Formato MsgBox(1234567.8) 'Il risultato è: 1234567.8'Il formato lascia il numero così com'èFormato MsgBox(1234567.8, "Valuta") 'Il risultato è: $1,234,567,80"La valuta utilizza le impostazioni della valuta del sistema"MsgBox Format(1234567.8, "Fisso") 'Il risultato è: 1234567.80'Fisso: almeno una cifra prima della virgola e'usa le impostazioni di sistema per la parte decimaleMsgBox Format(1234567.8, "Standard") 'Il risultato è: 1.234.567.80'Standard: migliaia di separatori e sistema standardFormato MsgBox(1234567.8, "Percentuale") 'Il risultato è: 123456780.00%'Percentuale, moltiplica per 100 con % e sistema standard.MsgBox Format(1234567.8, "Scientific") 'Il risultato è: 1.23E+06'Notazione scientificaMsgBox Format(1234567.8, "Sì/No") 'Il risultato è: Sì'No se il numero è zeroMsgBox Format(1234567.8, "Vero/Falso") "Il risultato è: Vero"'Falso se il numero è uguale a zeroMsgBox Format(1234567.8, "On/Off") 'Il risultato è: On'Off se il numero è zeroFine sottotitolo

Formatta numeri con formati definiti dall'utente

La funzione Format può convertire un numero in una stringa, formati numerici formattati definiti dall'utente. 0 è un segnaposto di cifra che visualizza una cifra o uno zero. # è un segnaposto di cifra che visualizza una cifra o niente. Un punto (.) è il segnaposto decimale, % è il segnaposto percentuale e la virgola (,) è il separatore delle migliaia. Il testo può essere aggiunto nel formato utilizzando le virgolette ("") e un singolo carattere può essere aggiunto se viene utilizzato dopo una barra rovesciata (\).

1234567891011 SottoformatoEsempio_2()MsgBox Format(7.8, "000.00") 'Il risultato è: 007.80MsgBox Format(12347.8356, "000.00") 'Il risultato è: 12347.84MsgBox Format(7.8, "###.##") 'Il risultato è: 7.8MsgBox Format(12347.8356, "###.##") 'Il risultato è: 12347.84MsgBox Format(7.8, "\$.00") 'Il risultato è: $7.80MsgBox Format(1237.835, "ABA0.00") 'Il risultato è: ABA1237.84MsgBox Format(12347.8356, "000.00%") 'Il risultato è: 1234783,56%MsgBox Format(12347.8356, "%000.00") 'Il risultato è: %12347.84Fine sottotitolo

Formatta i numeri a seconda dei valori

La funzione Formato può avere sezioni diverse utilizzando regole di formato diverse per numeri positivi, numeri negativi, zero e Null. Queste sezioni sono separate da un punto e virgola.

1234567 Sottoformato Esempio_3()MsgBox Format(7.8, "000.00;(000.00);\z\e\r\o;niente") 'Il risultato è: 007.80MsgBox Format(-7.8, "000.00;(000.00);\z\e\r\o;niente") 'Il risultato è: (007.80)MsgBox Format(0, "000.00;(000.00);\z\e\r\o;niente") 'Il risultato è: zeroMsgBox Format(Null, "000.00;(000.00);\z\e\r\o;niente") 'Il risultato è: nienteFine sottotitolo

Formatta date con formati predefiniti

La funzione Formato può formattare le date con diversi formati predefiniti. Questi formati sono data lunga, media e breve e anche tempo lungo, medio e breve.

1234567891011121314 SottoformatoEsempio_4()Dim DateEx come dataDataEx = #4/18/2020 7:35:56 PM#Formato MsgBox (DateEx, "Data generale") 'Il risultato è: 18/04/2020 19:35:56MsgBox Format(DateEx, "Long Date") 'Il risultato è: sabato 18 aprile 2022MsgBox Format(DateEx, "Medium Date") 'Il risultato è: 18-Apr-20MsgBox Format(DateEx, "Short Date") 'Il risultato è: 18/04/2020MsgBox Format(DateEx, "Long Time") 'Il risultato è: 7:35:56 PMMsgBox Format(DateEx, "Medium Time") "Il risultato è: 19:35"MsgBox Format(DateEx, "Short Time") 'Il risultato è: 19:35Fine sottotitolo

Formattare le date con formati definiti dall'utente

La funzione Formato può formattare le date con formati definiti dall'utente. Caratteri come d, m, y, w, q possono essere utilizzati per creare formati di data personalizzati.

123456789101112131415161718192021222324 Sottoformato Esempio_5()Dim DateEx come dataDataEx = #4/18/2020 7:35:56 PM#MsgBox Format(DateEx, "m/d/yy") 'Il risultato è: 18/04/2020MsgBox Format(DateEx, "mm-dd-yy") 'Il risultato è: 04-18-2020MsgBox Format(DateEx, "mmm-dd-yy") 'Il risultato è: Apr-18-2020MsgBox Format(DateEx, "mmmm-dd-yy") 'Il risultato è: 18-aprile-2020MsgBox Format(DateEx, "mm-dddd-yy") 'Il risultato è: 04-Sat-2020MsgBox Format(DateEx, "mm-dddd-yy") 'Il risultato è: 04-sabato-2020Formato MsgBox(DateEx, "y")'Il risultato è: 109'numero di giorni nell'anno 1-366Formato MsgBox(DateEx, "ww")Il risultato è: 16'numero di settimane nell'anno 1-52'Formato MsgBox(DateEx, "q")'Il risultato è: 2'quarto dell'anno 1-4'Fine sottotitolo

Caratteri come le combinazioni h, n, s e am, pm possono essere utilizzati per creare formati di ora personalizzati.

123456789101112 Sottoformato Esempio_6()Dim DateEx come dataDataEx = #4/18/2020 7:06:05 PM#MsgBox Format(DateEx, "h:n:s") 'Il risultato è: 19:6:5MsgBox Format(DateEx, "hh:nn:ss") 'Il risultato è: 19:06:05MsgBox Format(DateEx, "hh:nn:ss am/pm") 'Il risultato è: 19:06:05MsgBox Format(DateEx, "hh:nn:ss AM/PM") 'Il risultato è: 19:06:05MsgBox Format(DateEx, "hh:nn:ss a/p") 'Il risultato è: 07:06:05 pMsgBox Format(DateEx, "hh:nn:ss A/P") 'Il risultato è: 07:06:05 PFine sottotitolo

Formato per una migliore leggibilità

La funzione di formattazione può formattare stringhe o numeri per una migliore leggibilità. @ è un segnaposto di carattere utilizzato per visualizzare un carattere o uno spazio. & è un segnaposto di carattere utilizzato per visualizzare un carattere o niente. ! può essere utilizzato per utilizzare i caratteri segnaposto da sinistra a destra e può essere utilizzato per applicare lettere minuscole o maiuscole. Può essere utile per formattare numeri di telefono o altri numeri grandi senza modificare il valore originale.

12345678910111213141516171819202122 Sottoformato Esempio_7()Dim StrEx As StringStrEx = "ABCdef"MsgBox Format(StrEx, "-@@@-@@-@@") 'Il risultato è: - AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&") 'Il risultato è: -AB-Cd-ef'Inizia da destra a sinistra.MsgBox Format(StrEx, "-@@@-@@-@@-@@") 'Il risultato è: - -AB-Cd-efMsgBox Format(StrEx, "-&&&-&&-&&-&&") 'Il risultato è: --AB-Cd-ef'Inizia da destra a sinistra. Quando mancano i caratteri @ aggiunge spazi e & non aggiunge nullaMsgBox Format(StrEx, "!-@@@-@@-@@-@@") 'Il risultato è: -ABC-de-f -MsgBox Format(StrEx, "!-&&&-&&-&&-&&") 'Il risultato è: -ABC-de-f'Inizia da sinistra a destra a causa di !MsgBox Format(StrEx, ">") 'Il risultato è: ABCDEFMsgBox Format(StrEx, "<") 'Il risultato è: abcdefFormato MsgBox(1234567890, "@@@-@@@-@@@@") 'Il risultato è: 123-456-7890Formato MsgBox(1234567890, "@@@@-@@@-@@@") 'Il risultato è: 1234-567-890Fine sottotitolo

Formatta i modelli nelle celle del foglio di lavoro

La funzione di formato può essere utilizzata nel codice VBA e anche nelle celle dei fogli di lavoro. Seleziona la cella o l'intervallo di celle e segui la voce di menu Formato celle > Personalizzato. Ci sono molti formati definiti dall'utente e anche l'utente può creare i propri formati personalizzati.

Formatta modelli con formula di testo

La funzione format può modificare direttamente il formato di un valore all'interno del codice VBA. Possiamo anche usare la formula Excel Text per ottenere lo stesso risultato usando WorksheetFunction.Text.

1234567891011 Sottoformato Esempio_8()Formato MsgBox(7.8, "000.00")'Il risultato è: 007.80MsgBox WorksheetFunction.Text(7.8, "000.00")'Il risultato è: 007.80Formato MsgBox(7.8, "###.##")'Il risultato è: 7.8MsgBox WorksheetFunction.Text(7.8, "###.##")'Il risultato è: 7.8Fine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave