Funzione Format

Utilizzo: Formattare dati da visualizzare sullo schermo (per esempio: textbox)  o sulla stampante. In Excel  può essere utilizzato anche nelle Funzioni utente per impostare il formato di dati che il codice trasmette al foglio di lavoro. Da non confondere con il "tipo di dati" assegnati ad una variabile o ai "formati di conversione dati"(Vedi: Funzioni di Conversione dei Tipi nella guida in linea del vbe). (Ricordo poi che in un foglio di Excel il formato dati può essere impostato scegliendo, per ogni cella, da "Formato celle", che determina il formato con cui visualizzare i dati).

Il termine "formattare" significa controllare l'aspetto con cui verrà visualizzato l'output, cioè viene utilizzato per determinare il "come" visualizzare un dato. Esistono "Formati predefiniti" e "Formati personalizzati". Vedremo i due tipi e relative spiegazioni, in particolare per i formati numerici (esistono anche i formati data e i formati stringa).

Sintassi della funzione Format

Format[$] (Espressione(op. oggetto)da formattare, "Descrizione formato")

esempio:

Miovalore = 10725

Miovalore = Format$(Miovalore, "#,###.00") restituisce: 10.725,00

oppure

TextBox1 = 10725

TextBox1 = Format(TextBox1, "Standard") restituisce: 10.725,00

Il simbolo del dollaro ($) opzionale specifica che il valore formattato deve essere una stringa. Senza simbolo del dollaro, il valore restituito è di Tipo Variant (sia stringa sia numero). Nella maggior parte delle situazioni  i risultati sono uguali, ma l'uso del simbolo del dollaro è più efficiente. La formattazione in genere non è necessaria se i valori numerici sono valori interi, non decimali.

Formati Predefiniti.

 Tipo Formato

Descrizione

Currency

 

visualizza un numero con il separatore delle migliaia; visualizza due cifre a destra del separatore decimale.

Fixed

visualizza almeno una cifra a sinistra e due cifre a destra del separatore decimale.

General Number

visualizza il numero lasciando la sua forma invariata.

Medium Time

visualizza l'ora nel formato breve di 12 ore, indicando le ore, i minuti, e l'identificatore AM/PM.

On/Off

visualizza la parola Off se il valore è zero, altrimenti scrive On.

Percent

numeri moltiplicati per 100 con il segno di percentuale sulla destra; due cifre decimali.

Scientific

notazione scientifica standard (notazione esponenziale).

Short Date

visualizza una data usando il formato data breve del sistema.

Short Time

visualizza l'ora usando il formato di 24 ore.

Standard

visualizza un numero con il separatore delle migliaia, almeno una cifra a sinistra e due cifre a destra del separatore decimale.

True/False

visualizza False se il valore è zero, altrimenti True

Yes/No

visualizza No se il valore è zero, altrimenti Si.

Quindi questa funzione risulta utile perchè arrotonda i valori frazionari al numero di decimali specificato. Ciò che viene arrotondato, però, è solo l'output (a video), non il valore memorizzato che rimane inalterato, ecco perchè in Excel è opportuno non scordarsi del "formato cella", e/o usare il formato di conversione dati per passare i dati al foglio di lavoro.(Esistono indicazioni e suggerimenti sul sito, per il "formato di conversione" sezione vba, paragrafo "Gestione degli errori", alla fine della pagina.).

Creazione di Formati Personalizzati.

Se i formati predefiniti non forniscono i risultati desiderati, è possibile crearne di propri. Vediamo come creare formati numerici personalizzati. (per i "formati data e ora" rimando ai paragrafi "il vba e le date" e seguenti, in questa stessa sezione). Vediamo i simboli che permettono la creazione di formati personalizzati:

Simbolo Descrizione Descrizione
0

segnaposto di cifra

visualizza una cifra o uno zero nella posizione;se non c'è alcuna cifra, viene visualizzato uno zero.

#

segnaposto nullo

visualizza una cifra o non visualizza niente; se non c'è alcuna cifra, non viene visualizzato nulla.

.

segnaposto decimale

visualizza il separatore decimale nella posizione.

,

separatore migliaia

inserisce il separatore delle migliaia.

%

segnaposto percentuale

l'espressione è moltiplicata per 100. Il carattere di percentuale (%) appare nella posizione specificata.

Ricordo che la formattazione deve seguire il sistema inglese con la virgola come separatore delle migliaia e il punto come separatore dei decimali. Provvederà Excel e farcelo vedere e a convertirlo nel nostro sistema.

Esempi di formati numerici personalizzati:

Istruzioni Risultato

TextBox1 = 1987,788

 

TextBox1 = Format(TextBox1, "###.#")

1987,8

TextBox1 = Format(TextBox1, "#,###.##")

1.987,79

TextBox1 = Format(TextBox1, "\€\ . #, ###.##")

€ . 1987,79

TextBox1 = 888

 

TextBox1 = Format(TextBox1, "###")

888

TextBox1 = Format(TextBox1, "###.##")

888,

TextBox1 = Format(TextBox1, "###.00")

888,00

TextBox1 = Format(TextBox1, "#,###.##")

888,

TextBox1 = 0,5571

 

TextBox1 = Format(TextBox1, "##.#%")

55,7%

TextBox1 = Format(TextBox1, "00.00%")

55,71%

TextBox1 = Format(TextBox1, "#%")

55%

 

Buon lavoro.