Deze zelfstudie laat zien hoe u de CDec VBA-functie gebruikt.
CDec-functie
VBA CDec Expressie naar decimaal converteren
De VBA CDec-functie converteert een uitdrukking naar een decimaal gegevenstype. Het decimale gegevenstype is eigenlijk een subtype van het variantgegevenstype.
12345678910 | Sub CDecExample_1()MsgBox CDec (12.34000001)'Resultaat is: 12.34000001MsgBox CDec(10000000000012.3)'Resultaat is: 10000000000012.3'MsgBox CDec(-0,0000000000001)'Resultaat is: -0,00000000000001MsgBox CDec(-12.34)'Resultaat is: -12.34Einde sub |
VBA CDec Strings converteren naar decimalen
De VBA CDec-functie kan worden gebruikt om tekenreeksen om te zetten naar decimalen als de tekens in de tekenreeks een betekenis hebben als getallen.
12345678910111213141516171819 | Sub CDecExample_2()Dim StrEx As StringStrEx = "112.112112"MsgBox CDec(StrEx)'Resultaat is: 112.112112'StrEx = "112.3"MsgBox CDec(StrEx)'Resultaat is: 112.3StrEx = "11,2"MsgBox CDec(StrEx)'Resultaat is: 112 , wordt genegeerdStrEx = "$ 112,07"MsgBox CDec(StrEx)'Resultaat is: 112.07 $ wordt genegeerdEinde sub |
VBA-programmering | Code Generator werkt voor u!
VBA CDec Runtime-fout 13 Type komt niet overeen
Het gebruik van de VBA CDec-functie met tekenreeksen die niet-numerieke tekens bevatten of tekens die geen betekenis hebben in numerieke context, resulteert in een Runtime-fout '13': Type komt niet overeen.
1234567 | Sub CDecExample_3()'De onderstaande code zal resulteren in een ERROR-bericht'CDec kan niet overweg met niet-numerieke tekens'Dim StrEx As StringStrEx = "Ab13"MsgBox CDec(StrEx)Einde sub |
VBA CDec Runtime Error 6 Overflow
Het gebruik van de VBA CDec-functie met strings die resulteren in een waarde die kleiner of groter is dan het verwachte decimaalteken, resulteert in een Runtime-fout '6': Overflow. Een decimaal getal moet tussen -7,9 E28 en +7,9 E28 liggen.
1234567 | Sub CDecExample_4()'De onderstaande code zal resulteren in een ERROR-bericht'CDec kan getallen aan tussen -7,9 E28 en +7,9 E28'Dim StrEx als variantStrEx = 8E+30MsgBox CDec(StrEx)Einde sub |
VBA CDec Regionale instellingen
VBA CDec-functie heeft ander gedrag bij het converteren van tekenreeksen met komma of punt. Het gebruikt de regionale instellingen van het besturingssysteem voor het decimaalteken en het cijferscheidingsteken.
12345678910111213141516 | Sub CDecExample_5()Dim StrEx As StringStrEx = "10000009"MsgBox CDec(StrEx)'Als Regionale instellingen , als scheidingsteken voor groepen hebben, dan'Resultaat is: 19'Als Regionale instellingen , als decimaalteken hebben, dan'Resultaat is: 1.0000009StrEx = "10000009"MsgBox CDec(StrEx)'Als de regionale instellingen . als een scheidingsteken voor groepen dan'Resultaat is: 19'Als de regionale instellingen . als een decimaal scheidingsteken dan'Resultaat is: 1.0000009Einde sub |