Als we in Excel getallen willen opmaken, kunnen we het venster ‘Celeigenschappen’ openen en een keuze maken uit de vele mogelijkheden. In VBA moeten we dit natuurlijk zelf als ‘code’ invoeren.

Dit doen we met behulp van de NumberFormat eigenschap

De eigenschap kan in VBA als volgt worden toegepast. In dit voorbeeld wordt een getal standaard weergegeven zonder speciale tekens en zonder decimalen.

Sub GetalOpmaak()

Range("A1").NumberFormat = "0"

End Sub

Hieronder vind je de bruikbare tekens terug, verduidelijkt met enkele voorbeelden…

TekenBetekenisCode voorbeeldResultaat voorbeeld
#significant cijfer##.#20,66 wordt getoond als 20,7
0niet-significante nul#.0015,2 wordt getoond als 15,20
.Decimaalteken##.##12,20 wordt getoond als 12,20
$ € £ ¢ ¥Valuta symbool€#.##107,12 wordt getoond als €107,12
%Percentage teken#.#%0,55 wordt getoond als 55%
,Scheidingsteken duizendtallen#,###220000 wordt getoond als 220.000
?ruimte voor niet-significante nul#,??15,2 wordt getoond als 15,2 maar met uitgelijnd decimaalteken
@tekst@20 wordt getoond als 20, maar als tekst i.p.v. als getal

Verder hebben we ook nog alle notaties voor datum en tijd.

TekenOmschrijving
dDagen als 1-31
ddDagen als 01-31
dddDagen als Ma-Zo
ddddDagen als Maandag-Zondag
mMaandag als 1-12
mmMaanden als 01-12
mmmMaanden als Jan-Dec
mmmmMaanden als Januari-December
mmmmmMaanden als J-D (eerste letter van de maand)
yyJaren als 00-99
yyyyJaren als 1900-9999
hUren als 0-23
hhUren als 00-23
mMinuten als 0-59 (moet in combinatie met h of s gebruikt worden, anders wordt de maand weergegeven)
mmMinuten als 00-59 (moet in combinatie met h of s gebruikt worden, anders wordt de maand weergegeven)
sSeconden als 0-59
ssSeconden als 00-59
hh:mm AM/PMTijd als 09:56 AM
hh:mm A/PTijd als 09:56 A
[h]:mmVerstreken tijd in uren
[mm]:ssVerstreken tijd in minuten
[ss]Verstreken tijd in seconden
hh:mm:ss.00Fracties van een seconde