Numer formatu VBA - Jak formatować liczby za pomocą formatu VBA NumberFormat?

Funkcja formatowania w VBA służy do formatowania podanych wartości w żądanym formacie, ta funkcja ma w zasadzie dwa obowiązkowe argumenty, jeden to wejście, które jest przyjmowane w postaci ciągu, a drugi argument to typ formatu, którego chcemy użyć na przykład jeśli użyjemy Format (.99, „Percent”), da nam to wynik jako 99%.

Sformatuj numer w VBA Excel

VBA wyprzedza zwykłe funkcje programu Excel. VBA ma wiele wbudowanych funkcji, tak jak mamy ponad 500 operacji w arkuszu. Jedną z takich formuł w VBA jest „Formatuj numer”.

Tak, dobrze słyszałeś. W języku VBA mamy funkcję o nazwie „FormatNumber” . W tym artykule zajmiemy się wyłącznie tą funkcją.

Jak formatować liczby za pomocą formatu VBA NumberFormat?

Jak sama nazwa funkcji mówi, sformatuje podaną liczbę zgodnie z instrukcjami formatowania podanymi przez użytkownika.

Formatowanie liczb to nic innego jak dodawanie kropek dziesiętnych, umieszczanie liczb ujemnych w nawiasach, pokazywanie zer wiodących dla wartości dziesiętnych itp. Korzystając z funkcji VBA FormatNumber , możemy zastosować styl formatowania do liczb, z którymi pracujemy. Poniżej znajduje się składnia funkcji

  • Wyrażenie: to nic innego jak liczba, którą musimy sformatować.
  • Liczba cyfr po przecinku : Ile cyfr ma stanowić miejsce dziesiętne po prawej stronie liczby.
  • Uwzględnij cyfrę wiodącą : Cyfra wiodąca to nic innego jak cyfry przed rozpoczęciem liczby. Dotyczy to wartości mniejszych niż 1, ale większych niż -1.
    • Jeśli chcesz pokazać zero przed wartością dziesiętną, możesz przekazać argument jako PRAWDA lub -1, a wynik będzie. „0,55”
    • Jeśli nie chcesz pokazywać zera przed wartością dziesiętną, możesz przekazać argument jako FAŁSZ lub 0, a wynikiem będzie „.55”.
    • Domyślna wartość to -2, czyli ustawienia komputera regionalnego.
  • Użyj rodziców dla liczb ujemnych: Jeśli chcesz pokazać liczby ujemne w nawiasach, możesz przekazać argument jako PRAWDA lub -1, a wynik będzie. „(255)”
    • Jeśli chcesz pokazać liczby ujemne bez nawiasów, możesz przekazać argument jako FAŁSZ lub 0, a wynik będzie. „-255”.
  • Grupuj cyfry: czy chcesz dodać separator tysięcy, czy nie. Jeśli tak, argumentem jest PRAWDA lub -1. Jeśli nie, argumentem jest FALSE lub 0. Domyślna wartość to -2, czyli równa regionalnym ustawieniom komputera.

Przykłady funkcji Excel VBA FormatNumber

Zobaczymy praktyczne przykłady funkcji Numer formatu Excel VBA. Każdy argument wykonamy osobno.

W tym celu utwórz nazwę makra i zadeklaruj jedną ze zmiennych jako ciąg. Musimy zgłosić zmienną jako ciąg, ponieważ wynik podany przez funkcję VBA FormatNumber jest tylko ciągiem.

Kod:

Sub Format_Number_Example1 () Dim MyNum As String End Sub

Przykład nr 1 - Dodaj kropki dziesiętne przed liczbą

Krok # 1 - Załóżmy, że pracowaliśmy z liczbą 25000 i musimy ją sformatować i dodać kropki dziesiętne po prawej stronie liczby. Przypisz wartość do naszej zmiennej.

Kod:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (End Sub

Krok # 2 - Najpierw jest wyrażenie, tj. Liczba, którą musimy sformatować, więc nasza liczba to 25000.

Kod:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, End Sub

Krok # 3 - Następnie podajemy, ile cyfr musimy dodać, czyli 2 liczby.

Kod:

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

Krok # 4 - Pokaż wartość zmiennej w oknie komunikatu VBA.

Kod:

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

Krok # 5 - Wynik tego makra jest taki.

Po prawej stronie liczby widzimy dwa miejsca po przecinku.

Przykład nr 2 - Numer grupy, tj. Separator tysięcy

Dla tej samej liczby możemy dodać lub usunąć separatory tysięcy. Jeśli chcemy wyświetlić separatory tysięcy, musimy wybrać vbTrue jako ostatni argument.

Kod:

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

Spowoduje to taki wynik.

Teraz, jeśli wybierzesz vbFalse, nie otrzymamy separatorów tysiąca.

Kod:

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

Wynik tego kodu w ten sposób.

Jeśli wybiorę vbUseDefault, otrzymamy wynik zgodnie z ustawieniem systemowym. Poniżej znajduje się wynik tego.

Więc moje ustawienie systemowe ma domyślnie separatory tysięcy.

Przykład # 3 - Ujmij nawiasy dla liczb ujemnych

Jeśli mamy szkodliwą liczbę, możemy podać liczbę ujemną w nawiasach. Musimy wybrać vbTrue w sekcji „Użyj rodziców dla liczb ujemnych”.

Kod:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2,, vbTrue) MsgBox MyNum End Sub

Teraz taki wynik.

Jeśli wybierzemy vbFalse, otrzymamy liczbę ujemną ze znakiem minus.

Kod:

Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2,, vbFalse) MsgBox MyNum End Sub

Teraz taki wynik.

Interesujące artykuły...