Numer formatu Excel VBA

VBA ma wbudowaną funkcję formatowania liczb. Nazwa tej wbudowanej funkcji to „Format Number”. Ta funkcja formatuje określoną liczbę w formacie wymaganym przez użytkownika.
Zanim przejdziemy dalej, pozwól nam zrozumieć, co to jest formatowanie liczb. Formatowanie liczb zasadniczo oznacza, że ​​konkretna liczba powinna być pokazana w określony sposób. Na przykład, jeśli chcesz zobaczyć określoną liczbę w postaci dwóch miejsc po przecinku (150, 55) lub chcesz zobaczyć tę samą liczbę w kategoriach braku miejsca po przecinku (150). To tylko przykłady. Zasadniczo możemy podzielić formatowanie liczb na cztery kategorie.

  • Punkty dziesiętne
  • Liczby ujemne w nawiasach
  • Wiodące cyfry
  • Cyfry grupowe

Będziemy uczyć się wszystkich formatowań w języku VBA za pomocą przykładów. Ale najpierw przyjrzyjmy się składni funkcji VBA dla Format number.

Aby zobaczyć składnię funkcji VBA dla numeru formatu na powyższym zrzucie ekranu, przełammy tę funkcję i zrozumiemy każdą jej część.

  1. Wyrażenie: Jak widać, pierwsza część funkcji jest wyrażeniem, które jest niczym innym jak liczbą, którą chcemy sformatować.
  2. Cyfra po przecinku: druga część funkcji pyta o liczbę cyfr liczby, którą chcesz zobaczyć po przecinku.
  3. Wiodąca cyfra: Przydaje się, gdy liczba wynosi od -1 do 1, co oznacza, że ​​liczba jest większa niż -1, a mniejsza niż 1. Na przykład 0, 25.

Więc jeśli chcesz zobaczyć wartość zero przed kropką dziesiętną, musisz wstawić argument do funkcji jako PRAWDA lub -1. Wynik wyniesie 0, 55.

Ale jeśli wstawisz wartość do argumentu jako FAŁSZ lub 0, wynik wyniesie .55.

  1. Użyj rodzica dla liczb ujemnych : Ta część jest używana dla liczb ujemnych. Jeśli chcesz zobaczyć liczby ujemne w nawiasach, powinieneś podać argument PRAWDA lub -1, a wynikiem będzie (156). Ale jeśli podasz argument jako FAŁSZ lub 0, wynikiem będzie -156.
  2. Cyfry grupowe : jest to ostatnia część funkcji używana dla tysięcy separatorów. Więc jeśli chcesz zobaczyć liczby z separatorem tysiąca, powinieneś podać argument jako PRAWDA lub -1, a wynik wyniesie 52 000. Ale jeśli podasz ten sam argument, co FALSE lub 0, wynik wyniesie 52000.

Jak sformatować liczbę za pomocą kodu VBA?

Teraz, gdy rozumiesz różne formy formatowania liczb i wbudowaną funkcję VBA formatu liczb, możemy śmiało przekonać się, jak możemy to wykorzystać za pomocą przykładów.

Możesz pobrać ten szablon formatu formatu VBA numer Excel tutaj - Szablon formatu formatu VBA numer Excel

Przed przejściem do przykładów wykonaj następujące podstawowe kroki, jeśli jesteś nowym użytkownikiem makra VBA. Możesz wstawić poniższe kody w module VBA.

Krok 1: Utwórz nazwę makra, która jest pierwszym wierszem w kodzie, jak widać na zrzucie ekranu.

Krok 2: Zadeklaruj jedną ze zmiennych jako String, ponieważ wynikiem podanym przez funkcję liczbową VBA Format jest String.

Kod:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Teraz możemy iść dalej z naszymi przykładami.

Punkty dziesiętne - przykład nr 1

Załóżmy, że pracujemy z liczbą 56456 i chcesz zobaczyć dwie liczby po przecinku.

Krok 1: W kodzie możesz dodać wbudowaną funkcję VBA, jak poniżej.

Mynum = numer formatu (

Krok 2: Jak wiesz, pierwszym krokiem funkcji jest wyrażenie, które jest niczym innym jak liczbą, którą chcesz sformatować. 56456 w naszym przypadku.

Mynum = numer formatu (56456,

Krok 3: Następnym krokiem jest Numdigitafterdecimal, który jest niczym innym jak liczbą cyfr, które chcesz zobaczyć po przecinku, która w naszym przypadku wynosi 2.

Kod:

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

Krok 4 : Następnym krokiem jest pokazanie numeru w oknie komunikatu. VBA ma wbudowaną funkcję pokazującą wartość w oknie komunikatu, którym jest MSGBOX.

Musisz więc wstawić poniższy kod po wstawieniu funkcji Formatuj numer dla MyNum.

Kod:

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

Jak widać ostatni wiersz w kodzie to End Sub, co oznacza, że ​​kod VBA dla makra kończy się później.

Krok 6: Po zakończeniu kodowania numeru formatu możesz uruchomić makro i po uruchomieniu makra możesz zobaczyć poniższy wynik.

Separator tysięcy - przykład nr 2

Załóżmy teraz, że na tym samym przykładzie musimy pokazać ten sam numer 56456 z tysiącami separatorów. W takim przypadku musimy podać ostatni argument jako „vbTrue”, jak pokazano na poniższym zrzucie ekranu.

Kod:

Sub Format_Number_Example2 ()

Dim MyNum As String

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

MsgBox MyNum

Napis końcowy

Po uruchomieniu makra zobaczysz poniższy wynik.

Jeśli wybierzesz „vbFalse” jako ostatni argument, liczba nie będzie wyświetlana jako separator tysięcy.

Pokaż liczbę ujemną w nawiasie - przykład nr 3

Załóżmy, że ta sama liczba 56456 w powyższym przykładzie jest ujemna i musisz pokazać liczby ujemne w nawiasach, a następnie czwartym argumentem w funkcji powinno być „vbTrue”, jak pokazano na poniższym zrzucie ekranu.

Kod:

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

Jak widać, czwarty i piąty argument w kodzie to „vbTrue”, co oznacza, że ​​formatowanie liczby ujemnej (czwarty argument) i formatowanie tysięcy separatorów (piąty argument) są prawdziwe. Tak więc zobaczysz liczbę ujemną w nawiasie i Tysiącu Separatorów, jak pokazano na poniższym zrzucie ekranu.

Formatowanie liczb od -1 do 1 - Przykład 4

Załóżmy, że liczba wynosi 0, 567, która zawiera się między -1 a 1, a następnie masz dwie opcje formatowania liczby. Pierwsza opcja to pokazywanie Zera przed kropką dziesiętną lub nie pokazywanie zera przed kropką dziesiętną.

Jeśli wybierzesz opcję pokazywania zera przed kropką dziesiętną, powinieneś podać trzeci argument w funkcji jako „vbTrue”, jak pokazano na poniższym zrzucie ekranu.

Kod:

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

Po uruchomieniu kodu makra zobaczysz poniższy wynik.

Jak widać, wynik pokazuje tylko dwie cyfry po przecinku, ponieważ podaliśmy tylko 2 jako drugi argument w funkcji.

Jeśli wybierzesz trzeci argument jako „vbFalse”, jak pokazano na poniższym zrzucie ekranu.

Kod:

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

Wtedy nie zobaczysz zera przed kropką dziesiętną, jak pokazano na poniższym zrzucie ekranu.

Rzeczy do zapamiętania

  • VBA FormatNumber Funkcja ma 5 argumentów, więc upewnij się, że podałeś prawidłowe argumenty w kolejności funkcji. Musimy postępować zgodnie z kolejnością funkcji, nie ma innego wyjścia.
  • Jeśli którykolwiek z argumentów pozostanie pusty, wówczas automatycznie uwzględni domyślną opcję VBA.
  • Uważaj na argumenty vbTrue i vbFalse dla trzech ostatnich argumentów dotyczących formatowania liczb.
  • Dla pierwszego argumentu, który jest wyrażeniem, możesz również podać odwołanie do komórki w arkuszu programu Excel zamiast dowolnej liczby.

Polecane artykuły

Jest to przewodnik po formacie VBA Number. Tutaj omawiamy sposób formatowania liczb w programie Excel za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły-

  1. Jak korzystać z funkcji VBA TRIM?
  2. Tablice VBA | Kompletny samouczek
  3. Jak korzystać z VBA Select Case?
  4. Funkcja Excel VBA Find

Kategoria: