Excel VBA-formaatnummer

VBA wordt geleverd met een ingebouwde functie voor het opmaken van getallen. De naam van die ingebouwde functie is "Formaatnummer". Met deze functie wordt het specifieke nummer opgemaakt in een indeling die door de gebruiker wordt vereist.
Voordat we verder gaan, laten we eerst begrijpen wat getalnotatie is. Nummeropmaak betekent in feite dat het specifieke nummer op een bepaalde manier moet worden weergegeven. Als u bijvoorbeeld een specifiek getal wilt zien in termen van twee decimalen (150.55) of als u hetzelfde getal wilt zien in termen van geen decimalen (150). Dit zijn slechts voorbeelden. Kortom, we kunnen deze nummeropmaak in vier categorieën categoriseren.

  • Decimale punten
  • Negatieve getallen tussen haakjes
  • Voorloopcijfers
  • Groep cijfers

We gaan alle opmaak in VBA leren met behulp van voorbeelden. Maar laten we eerst eens kijken naar de syntaxis van de VBA-functie voor het formaatnummer.

Dus zoals u de syntaxis van de VBA-functie voor het formaatnummer in de bovenstaande screenshot kunt zien, laten we die functie breken en elk deel van de functie begrijpen.

  1. Expressie: Zoals u kunt zien, is het eerste deel van de functie een expressie die niets anders is dan het getal dat we willen opmaken.
  2. Nummer achter de komma: het tweede deel van de functie vraagt ​​om het aantal cijfers van het getal dat u achter de komma wilt zien.
  3. Voorloopcijfer: dit is handig wanneer het nummer tussen -1 en 1 ligt, wat betekent dat het nummer groter is dan -1 en kleiner dan 1. Bijvoorbeeld 0, 25.

Dus als u de waarde nul vóór het decimaalteken wilt zien, moet u argument in de functie invoegen als WAAR of -1. Het resultaat is 0, 55.

Maar als u de waarde in het argument invoegt als ONWAAR of 0, wordt het resultaat .55.

  1. Gebruik bovenliggend getal voor negatieve nummers : dit deel wordt gebruikt voor negatieve nummers. Als u de negatieve getallen tussen haakjes wilt zien, moet u een argument geven als WAAR of -1 en het resultaat is (156). Maar wanneer u het argument opgeeft als ONWAAR of 0, is het resultaat -156.
  2. Groepscijfers : dit is het laatste deel van de functie die wordt gebruikt voor de duizendscheiders. Dus als u de getallen met een scheidingsteken van duizend wilt zien, moet u het argument WAAR of -1 opgeven en het resultaat is 52.000. Maar als u hetzelfde argument opgeeft als FALSE of 0, is het resultaat 52000.

Hoe nummer opmaken met behulp van VBA-code?

Nu u de verschillende vormen van Nummeropmaak en de ingebouwde VBA-functie van Nummeropmaak begrijpt, kunnen we doorgaan en kijken hoe we dit kunnen gebruiken met behulp van voorbeelden.

U kunt deze VBA-opmaaknummer Excel-sjabloon hier downloaden - VBA-opmaaknummer Excel-sjabloon

Voordat u naar de voorbeelden gaat, volgt u de onderstaande basisstappen als u VBA-macro nog niet kent. U kunt de onderstaande codes in de VBA-module invoegen.

Stap 1: Maak een Macronaam die de eerste regel in de code is, zoals u kunt zien in de screenshot.

Stap 2: Declareer een van de variabelen als String omdat het resultaat dat wordt gegeven door de nummerfunctie van de VBA-indeling String is.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Nu kunnen we doorgaan met onze voorbeelden.

Decimale punten - Voorbeeld # 1

Stel dat we met het nummer 56456 werken en u wilt twee cijfers achter de komma zien.

Stap 1: In de code kunt u de ingebouwde VBA-functie toevoegen zoals hieronder.

Mynum = Formaatnummer (

Stap 2: Zoals u weet, is de eerste stap van de functie de uitdrukking die niets anders is dan het nummer dat u wilt opmaken. 56456 in ons geval.

Mynum = Formaatnummer (56456,

Stap 3: De volgende stap is Numdigitafterdecimal wat niets anders is dan het aantal cijfers dat u wilt zien na de decimale punt die in ons geval 2 is.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Stap 4 : De volgende stap is om het nummer in een berichtvenster weer te geven. VBA heeft een ingebouwde functie om de waarde weer te geven in een berichtvenster dat MSGBOX is.

U hoeft dus alleen de onderstaande code in te voeren na het invoegen van de functie Formaatnummer voor MyNum.

Code:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Zoals u kunt zien, is de laatste regel in de code End Sub, wat betekent dat VBA-code voor de macro daarna eindigt.

Stap 6: Als de codering voor het formaatnummer eindigt, kunt u de macro uitvoeren en kunt u het onderstaande resultaat zien na het uitvoeren van de macro.

Duizendscheider - Voorbeeld # 2

Stel nu dat we met hetzelfde voorbeeld hetzelfde getal 56456 moeten tonen met duizend scheidingstekens. In dat geval moeten we het laatste argument als 'vbTrue' opgeven, zoals weergegeven in de onderstaande schermafbeelding.

Code:

Subformaat_Nummer_Voorbeeld2 ()

Dim MyNum As String

MyNum = FormatNumber (56456, 2,,, vbTrue)

MsgBox MyNum

Einde Sub

Nadat u de macro hebt uitgevoerd, kunt u het onderstaande resultaat zien.

Als u "vbFalse" als laatste argument selecteert, wordt het nummer niet als duizendscheider weergegeven.

Toon negatief nummer tussen haakjes - Voorbeeld # 3

Stel dat hetzelfde nummer 56456 in het bovenstaande voorbeeld negatief is en u de negatieve getallen in een haakje moet weergeven, dan moet het vierde argument in de functie "vbTrue" zijn, zoals weergegeven in de onderstaande screenshot.

Code:

 Sub Format_Number_Example3 () Dim MyNum As String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub 

Zoals u kunt zien, zijn het vierde en vijfde argument in de code "vbTrue", wat betekent dat de opmaak voor negatief getal (vierde argument) en opmaak voor duizend scheidingstekens (vijfde argument) beide waar zijn. U ziet dus het negatieve getal binnen een haakje en met duizend scheidingstekens, zoals weergegeven in de onderstaande schermafbeelding.

Opmaak voor nummer tussen -1 en 1 - Voorbeeld # 4

Stel dat het nummer 0, 567 is, dat ligt tussen -1 en 1, dan hebt u twee opties voor het opmaken van het nummer. De eerste optie is om Nul voor het decimale punt te tonen of niet om nul voor het decimale punt te tonen.

Als u de optie kiest om nul voor de komma weer te geven, moet u het derde argument in de functie opgeven als "vbTrue", zoals weergegeven in de onderstaande schermafbeelding.

Code:

 Sub Format_Number_Example4 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub 

U kunt het onderstaande resultaat zien na het uitvoeren van de macrocode.

Zoals u kunt zien, toont het resultaat slechts twee cijfers achter de komma, omdat we slechts 2 hebben opgegeven als het tweede argument in de functie.

Als u het derde argument selecteert als "vbFalse" zoals weergegeven in de onderstaande schermafbeelding.

Code:

 Sub Format_Number_Example5 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub 

Dan ziet u de nul niet vóór de komma, zoals weergegeven in de onderstaande schermafbeelding.

Dingen om te onthouden

  • De functie VBA FormatNumber heeft 5 argumenten, dus zorg ervoor dat u de juiste argumenten opgeeft in de volgorde van de functie. We moeten de volgorde van de functie volgen, er is geen andere uitweg.
  • Als u een van de argumenten als blanco houdt, zal deze automatisch de standaardoptie van VBA overwegen.
  • Wees voorzichtig met het argument vbTrue en vbFalse voor de laatste drie argumenten voor getalnotatie.
  • Voor het eerste argument dat de uitdrukking is, kunt u ook de celverwijzing in het Excel-blad opgeven in plaats van een willekeurig nummer.

Aanbevolen artikelen

Dit is een handleiding voor het VBA-formaatnummer. Hier bespreken we hoe u getallen in Excel kunt opmaken met behulp van VBA-code, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen-

  1. Hoe de VBA TRIM-functie te gebruiken?
  2. VBA-reeksen | Volledige zelfstudie
  3. Hoe de VBA Select Case te gebruiken?
  4. Excel VBA-zoekfunctie

Categorie: