Excel VBA формат номер

VBA идва с вградена функция за форматиране на номера. Името на тази вградена функция е „Номер на формат“. Тази функция форматира конкретния номер във формат, който се изисква от потребителя.
Преди да продължим напред, нека първо разберем какво е форматиране на числа. Форматиране на числа по принцип означава, че конкретният номер трябва да бъде показан по определен начин. Например, ако искате да видите конкретно число по отношение на две десетични знаци (150, 55) или искате да видите едно и също число, като няма десетична запетая (150). Това са само примери. По принцип можем да категоризираме тези формати на номера в четири категории.

  • Десетични точки
  • Отрицателни числа в скоби
  • Водещи цифри
  • Групови цифри

Ще научим всички формати в VBA с помощта на примери. Но първо, нека да разгледаме синтаксиса на функцията VBA за номер на формат.

Тъй като можете да видите синтаксиса на VBA функция за номер на формат в горния екран, нека да прекъснем тази функция и да разберем всяка част от функцията.

  1. Израз: Както можете да видите първата част от функцията е израз, който не е нищо друго освен числото, което искаме да форматираме.
  2. Числова цифра след десетичната запетая: Втората част на функцията изисква броя цифри на числото, което искате да видите след десетичната запетая.
  3. Водеща цифра: Това е полезно, когато числото е между -1 и 1, което означава, когато числото е повече от -1 и по-малко от 1. Например 0, 25.

Така че, ако искате да видите нулата преди десетичната запетая, трябва да поставите аргумент във функцията като ИСТИНСКА или -1. Резултатът ще бъде 0, 55.

Но ако вмъкнете стойността в аргумента като FALSE или 0, резултатът ще бъде .55.

  1. Използвайте родител за отрицателни числа : Тази част се използва за отрицателни числа. Ако искате да видите отрицателните числа в скоба, тогава трябва да дадете аргумент като TRUE или -1 и резултатът ще бъде (156). Но когато предоставите аргумента като FALSE или 0, резултатът ще бъде -156.
  2. Групови цифри : Това е последната част от функцията, която се използва за хилядите разделители. Така че, ако искате да видите числата с разделител на хиляди, трябва да предоставите аргумента като ИСТИНСКА или -1 и резултатът ще бъде 52 000. Но ако предоставите същия аргумент като FALSE или 0, резултатът ще бъде като 52000.

Как да форматирате номер с помощта на VBA код?

Сега, когато разбирате различните форми на форматиране на числа и вградената функция на VBA на формата на числата, можем да продължим напред и да видим как можем да използваме това с помощта на примери.

Можете да изтеглите този шаблон на VBA формат Excel шаблон тук - VBA формат номер Excel шаблон

Преди да преминете към примерите, следвайте основните стъпки по-долу, ако сте нов за макро VBA. Можете да поставите кодовете по-долу във VBA модула.

Стъпка 1: Създайте име на макрос, което е първият ред в кода, както можете да видите на екрана.

Стъпка 2: Декларирайте една от променливите като String, защото резултатът, даден от функцията за число на формат VBA, е String.

Код:

 Sub Format_Number_Example1 () Dim MyNum като String End Sub 

Сега можем да продължим с нашите примери.

Десетични точки - Пример №1

Да предположим, че работим с числото 56456 и искате да видите две числа след десетичната запетая.

Стъпка 1: В кода можете да добавите VBA вградената функция, както е показано по-долу.

Mynum = Formatnumber (

Стъпка 2: Както знаете, първата стъпка на функцията е изразът, който не е нищо друго освен числото, което искате да форматирате. 56456 в нашия случай.

Mynum = Formatnumber (56456,

Стъпка 3: Следващата стъпка е Numdigitafterdecimal, което е нищо друго освен броя на цифрите, които искате да видите след десетичната запетая, която е 2 в нашия случай.

Код:

 Sub Format_Number_Example1 () Dim MyNum като String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Стъпка 4 : Следващата стъпка е да се покаже номерът в полето за съобщения. VBA има вградена функция за показване на стойността в поле за съобщения, което е MSGBOX.

Така че просто трябва да поставите кода по-долу, след като вмъкнете функцията Format Format за MyNum.

Код:

 Sub Format_Number_Example1 () Dim MyNum като String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub 

Както можете да видите последният ред в кода е End Sub, което означава VBA код за макроса, завършващ след това.

Стъпка 6: Тъй като кодирането за номера на формата завършва, можете да стартирате макроса и можете да видите по-долу резултата след стартиране на макроса.

Хиляда сепаратор - пример №2

Сега да предположим, че със същия пример трябва да покажем едно и също число 56456 с хиляди разделители. В този случай трябва да дадем последния аргумент като „vbTrue“, както е показано на екрана по-долу.

Код:

Подформат_Number_Example2 ()

Dim MyNum като струнен

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

MsgBox MyNum

Край Sub

След като стартирате макроса, ще можете да видите резултата по-долу.

Ако изберете „vbFalse“ като последен аргумент, номерът няма да бъде показан като разделител на хиляди.

Показване на отрицателен номер в скоба - Пример №3

Да предположим, че същото число 56456 в горния пример е отрицателно и трябва да покажете отрицателните числа в скоба, тогава четвъртият аргумент във функцията трябва да бъде „vbTrue“, както е показано на снимката по-долу.

Код:

 Sub Format_Number_Example3 () Dim MyNum като String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub 

Както можете да видите четвъртият и петият аргумент в кода са „vbTrue“, което означава форматирането на отрицателен номер (четвърти аргумент) и форматирането за хиляди разделители (пети аргумент) и двете са верни. Така ще видите отрицателното число в скоба и с Хиляда разделители, както е показано на снимката по-долу.

Форматиране за число между -1 и 1 - пример №4

Да предположим, че числото е 0, 567, което е между -1 и 1, тогава имате две опции за форматиране на числото. Първата опция е да се покаже нула преди десетичната запетая или да не се показва нула преди десетичната запетая.

Ако изберете опцията за показване на нула преди десетичната запетая, трябва да предоставите третия аргумент във функцията като „vbTrue“, както е показано на снимката по-долу.

Код:

 Sub Format_Number_Example4 () Dim MyNum като String MyNum = FormatNumber (0.567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub 

Ще можете да видите резултата по-долу след стартиране на макро кода.

Както можете да видите, резултатът показва само две цифри след десетичната запетая, защото ние предоставихме само 2 като втори аргумент във функцията.

Ако изберете третия аргумент като „vbFalse“, както е показано на екрана по-долу.

Код:

 Sub Format_Number_Example5 () Dim MyNum като String MyNum = FormatNumber (0.567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub 

Тогава няма да видите нулата преди десетичната запетая, както е показано на снимката по-долу.

Неща, които трябва да запомните

  • Функцията VBA FormatNumber има 5 аргумента, така че не забравяйте да предоставите правилните аргументи в реда на функцията. Трябва да следваме реда на функцията, няма друг изход.
  • Ако запазите някой от аргументите като празен, той автоматично ще разгледа опцията по подразбиране VBA.
  • Внимавайте с аргументите vbTrue и vbFalse за последните три аргумента за форматиране на числа.
  • За първия аргумент, който е изразът, можете също да предоставите референцията на клетката в листа на excel вместо всяко число.

Препоръчителни статии

Това е ръководство за номера на VBA формат. Тук обсъждаме как да форматирате числата в Excel, използвайки VBA код, заедно с практически примери и шаблон за Excel за изтегляне. Можете също да разгледате и другите ни предложени статии -

  1. Как да използвате VBA TRIM функцията?
  2. VBA масиви | Пълен урок
  3. Как да използвате VBA Select Case?
  4. Excel VBA функция за намиране

Категория: