Číslo formátu Excel VBA

VBA má zabudovanú funkciu pre formátovanie čísel. Názov tejto vstavanej funkcie je „Číslo formátu“. Táto funkcia formátuje konkrétne číslo vo formáte, ktorý požaduje užívateľ.
Predtým, ako budeme pokračovať, najprv pochopme, čo je formátovanie čísel. Formátovanie čísel znamená, že konkrétne číslo by malo byť zobrazené konkrétnym spôsobom. Napríklad, ak chcete vidieť konkrétne číslo z hľadiska dvoch desatinných miest (150.55) alebo chcete vidieť rovnaké číslo z hľadiska bez desatinných miest (150). Toto sú len príklady. V zásade môžeme tieto čísla formátovať do štyroch kategórií.

  • Desatinné miesta
  • Záporné čísla v zátvorkách
  • Počiatočné číslice
  • Skupinové číslice

Naučíme sa všetky formátovania vo VBA pomocou príkladov. Najprv sa však pozrieme na syntax funkcie VBA pre číslo formátu.

Takže, ako vidíte syntax funkcie VBA pre číslo formátu na vyššie uvedenom obrázku, prerušme túto funkciu a porozumieme každej jej časti.

  1. Expression: Ako vidíte, prvá časť funkcie je výraz, ktorý nie je nič iné ako číslo, ktoré chceme formátovať.
  2. Číslice za desatinnou čiarkou: Druhá časť funkcie požaduje počet číslic čísla, ktoré chcete vidieť za desatinnou čiarkou.
  3. Počiatočná číslica: Toto je užitočné, keď je číslo medzi -1 a 1, čo znamená, keď je číslo väčšie ako -1 a menšie ako 1. Napríklad 0, 25.

Takže ak chcete vidieť hodnotu nula pred desatinnou čiarkou, musíte do funkcie vložiť argument ako TRUE alebo -1. Výsledok bude 0, 55.

Ale ak vložíte hodnotu do argumentu ako FALSE alebo 0, výsledok bude .55.

  1. Použiť rodič pre záporné čísla : Táto časť sa používa pre záporné čísla. Ak chcete vidieť záporné čísla v zátvorke, mali by ste uviesť argument ako PRAVÝ alebo -1 a výsledok bude (156). Ale ak zadáte argument ako FALSE alebo 0, výsledok bude -156.
  2. Skupinové číslice : Toto je posledná časť funkcie, ktorá sa používa pre tisíc oddeľovačov. Takže ak chcete vidieť čísla s oddeľovačom tisíc, mali by ste uviesť argument ako PRAVÝ alebo -1 a výsledok bude 52 000. Ak však poskytnete rovnaký argument ako FALSE alebo 0, výsledok bude rovnaký ako 52 000.

Ako formátovať číslo pomocou kódu VBA?

Teraz, keď pochopíte rôzne formy formátovania čísel a VBA vstavanú funkciu formátu čísel, môžeme ísť ďalej a uvidíme, ako to môžeme použiť pomocou príkladov.

Túto šablónu formátu Excel VBA si môžete stiahnuť tu - šablónu formátu VBA Excel Number

Predtým, ako prejdete na príklady, postupujte podľa nasledujúcich základných krokov, ak ste novým makrom VBA. Do modulu VBA môžete vložiť nižšie uvedené kódy.

Krok 1: Vytvorte názov makra, ktorý je prvým riadkom v kóde, ako vidíte na snímke obrazovky.

Krok 2: Vyhláste jednu z premenných ako reťazec, pretože výsledkom funkcie čísla formátu VBA je String.

kód:

 Sub Format_Number_Example1 () Dim MyNum ako reťazec End Sub 

Teraz môžeme pokračovať s našimi príkladmi.

Desatinné miesta - príklad č. 1

Predpokladajme, že pracujeme s číslom 56456 a chcete vidieť dve čísla za desatinnou čiarkou.

Krok 1: Do kódu môžete pridať vstavanú funkciu VBA, ako je uvedené nižšie.

Mynum = Formatnumber (

Krok 2: Ako viete, prvým krokom funkcie je výraz, ktorý nie je nič iné ako číslo, ktoré chcete formátovať. 56456 v našom prípade.

Mynum = Formatnumber (56456,

Krok 3: Ďalším krokom je Numdigitafterdecimal, čo nie je nič iné ako počet číslic, ktoré chcete vidieť za desatinnou čiarkou, ktorá je v našom prípade 2.

kód:

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

Krok 4 : Ďalším krokom je zobrazenie čísla v okne so správou. VBA má vstavanú funkciu na zobrazenie hodnoty v okne správy, ktoré je MSGBOX.

Po vložení funkcie Formát číslo pre MyNum stačí vložiť nasledujúci kód.

kód:

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

Ako vidíte, posledný riadok v kóde je End Sub, čo znamená, že kód VBA pre makro končí.

Krok 6: Po ukončení kódovania čísla formátu môžete spustiť makro a po spustení makra môžete vidieť výsledok nižšie.

Oddeľovač tisícov - Príklad č. 2

Teraz predpokladajme, že na rovnakom príklade musíme ukázať rovnaké číslo 56456 s tisíckami oddeľovačov. V takom prípade musíme uviesť posledný argument ako „vbTrue“, ako je to znázornené na nasledujúcom snímke obrazovky.

kód:

Sub Format_Number_Example2 ()

Dim MyNum ako reťazec

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

MsgBox MyNum

End Sub

Po spustení makra uvidíte nasledujúci výsledok.

Ak ako posledný argument vyberiete „vbFalse“, číslo sa nebude zobrazovať ako oddeľovač tisícok.

Zobraziť záporné číslo v zátvorke - príklad # 3

Predpokladajme, že rovnaké číslo 56456 vo vyššie uvedenom príklade je záporné a musíte uviesť záporné čísla v zátvorke, potom by štvrtý argument vo funkcii mal byť „vbTrue“, ako je to zobrazené na nasledujúcom obrázku.

kód:

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

Ako vidíte, štvrtý a piaty argument v kóde sú „vbTrue“, čo znamená, že formátovanie pre záporné číslo (štvrtý argument) a formátovanie pre tisíc oddeľovačov (piaty argument) sú pravdivé. Takže záporné číslo uvidíte v zátvorke as tisíckami oddeľovačov, ako je to znázornené na nasledujúcom obrázku.

Formátovanie pre číslo medzi -1 a 1 - príklad č. 4

Predpokladajme, že číslo je 0, 567, čo je medzi -1 a 1, potom máte dve možnosti na formátovanie čísla. Prvou možnosťou je ukázať nulu pred desatinnou čiarkou alebo nezobraziť nulu pred desatinnou čiarkou.

Ak vyberiete možnosť zobrazovať nulu pred desatinnou čiarkou, mali by ste uviesť tretí argument vo funkcii „vbTrue“, ako je to zobrazené na nasledujúcom obrázku.

kód:

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

Po spustení kódu makra uvidíte výsledok uvedený nižšie.

Ako vidíte, výsledok ukazuje iba dve číslice za desatinnou čiarkou, pretože sme vo funkcii uviedli iba 2 ako druhý argument.

Ak vyberiete tretí argument ako „vbFalse“, ako je to znázornené na nasledujúcom obrázku.

kód:

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

Potom neuvidíte nulu pred desatinnou čiarkou, ako je to znázornené na nasledujúcom obrázku.

Čo je potrebné pamätať

  • Funkcia VBA FormatNumber má 5 argumentov, preto nezabudnite uviesť správne argumenty v poradí funkcie. Musíme postupovať podľa poradia funkcie, neexistuje iná cesta von.
  • Ak niektorý z argumentov ponecháte prázdny, automaticky sa bude brať do úvahy predvolená možnosť VBA.
  • Pri argumentoch vbTrue a vbFalse buďte opatrní pri posledných troch argumentoch pri formátovaní čísla.
  • Pre prvý argument, ktorým je výraz, môžete namiesto ľubovoľného čísla uviesť aj odkaz na bunku v excelovom hárku.

Odporúčané články

Toto je príručka pre číslo formátu VBA. Tu diskutujeme o tom, ako formátovať čísla v programe Excel pomocou kódu VBA, spolu s praktickými príkladmi a šablónou programu Excel na stiahnutie. Môžete tiež navštíviť naše ďalšie navrhované články -

  1. Ako používať funkciu VBA TRIM?
  2. Polia VBA Kompletný návod
  3. Ako používať VBA Select Case?
  4. Funkcia nájdenia Excel VBA

Kategórie: