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.
