Funkcja Excel VBA Round
Funkcja zaokrąglania w VBA jest funkcją matematyczną, która jak sama nazwa sugeruje, zaokrągla w górę lub w dół podaną liczbę do określonego zestawu miejsc dziesiętnych określonych przez użytkownika, ta funkcja używa logiki zaokrąglenia nawet, co oznacza, że przyjmuje 5 jako numer referencyjny i każda liczba z ostatnią cyfrą po przecinku jest mniejsza niż 5, a następnie jest zaokrąglana w dół i odwrotnie.
Możesz zaokrąglić liczbę do dwucyfrowego dziesiętnego, trzycyfrowego dziesiętnego lub w ogóle nie mieć go. Na przykład, jeśli masz numer 5.8697. Jeśli zaokrąglisz liczbę do dwucyfrowego dziesiętnego, to będzie 5,87, jeśli zaokrąglisz do trzech cyfr, a następnie zaokrągli do 5,870, jeśli chcesz zaokrąglić do zera, będzie to 6. -
W liczbach bankowych wszystkie miejsca dziesiętne, które są mniejsze niż 0,5, zostaną zaokrąglone w dół do poprzedniej wartości całkowitej, a wszystkie miejsca dziesiętne większe lub równe 0,5 zostaną zaokrąglone w górę do następnej wartości całkowitej.
Mam nadzieję, że użyłeś funkcji ZAOKR w arkuszu. Również w VBA możemy użyć tej funkcji, ale mamy różnicę z tymi funkcjami. W dalszej części artykułu zobaczymy różnicę między tymi dwiema funkcjami.
Składnia
Spójrz na składnię funkcji Round.
Liczba: to jest liczba, którą próbujemy zaokrąglić.
[Liczba cyfr po przecinku ]: Ile cyfr potrzebujesz po wartości dziesiętnej.
Przykłady
Możesz pobrać ten szablon VBA Round Function Excel tutaj - VBA Round Function Excel TemplateZałóżmy, że masz liczbę 4,534 i chcesz zaokrąglić do dwóch cyfr.
Wykonaj poniższe kroki.
Krok 1: Zadeklaruj zmienną jako wariant.
Kod:
Sub Round_Example1 () Dim K As Variant End Sub
Krok 2: Dla tej zmiennej „ k ” przypisz wartość za pomocą funkcji ROUND.
Kod:
Sub Round_Example1 () Dim K As Variant K = Round (End Sub
Krok 3: Liczba to nic innego jak liczba, którą próbujemy zaokrąglić, w tym przypadku jest to 4,534
Kod:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, End Sub
Krok 4: Ile cyfr musimy zaokrąglić, w tym przypadku musimy zaokrąglić do 2 cyfr .
Kod:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, 2) End Sub
Krok 5: Teraz pokaż wartość zmiennej „k” w oknie komunikatu VBA.
Kod:
Sub Round_Example1 () Dim K As Variant K = Round (4.534, 2) MsgBox K End Sub
Uruchom ten kod i zobacz, co otrzymamy.
Otrzymaliśmy wynik jako 4,53, kiedy zaokrągliliśmy do 2 cyfr.
Teraz zmienię numer z 4,534 na 4,535 . Zobacz, co się teraz dzieje.
Kod:
Sub Round_Example1 () Dim K As Variant K = Round (4.535, 2) MsgBox K End Sub
Teraz uruchom kod i zobacz, jaki jest wynik.
Otrzymaliśmy wynik jako 4,54 o jedno miejsce po przecinku wyższy niż poprzednia wartość 4,53. Dzieje się tak, ponieważ w tym przykładzie podaliśmy liczbę jako 4,535, więc po liczbie 3 następna liczba to 5, więc jest zaokrąglana do następnej liczby, więc 3 staje się 4.
Teraz podam liczbę jako 2.452678 i spróbuję zaokrąglić do 3 cyfr.
Kod:
Sub Round_Example2 () Dim K As Variant K = Round (2.452678, 3) MsgBox K End Sub
Uruchom ten kod, aby zobaczyć wynik.
Wynik to 2,453 .
2,45 2678 W tym przypadku liczby po drugim miejscu dziesiętnym to 2678. Następna liczba to 6, która jest większa lub równa 5, po drugiej liczbie dziesiętnej, więc jest zaokrąglana w górę do następnej liczby dziesiętnej.
Teraz użyję tej samej liczby do zaokrąglenia do zera i zobaczę, co się stanie.
Kod:
Sub Round_Example3 () Dim K As Variant K = Round (2.452678, 0) MsgBox K End Sub
Uruchom kod i zobacz, co otrzymamy.
Ponieważ użyłem rundy do zera, otrzymaliśmy wynik jako 2.
Powód, dla którego otrzymaliśmy wynik jako 2, ponieważ tutaj pierwsza liczba dziesiętna to 4, czyli mniej niż 0,5, więc jest zaokrąglana w dół.
Różnica między funkcją Excel i VBA ROUND
Istnieją głównie 2 różnice.
# 1 - Składnia obu funkcji:
Jeśli spojrzysz na składnię obu funkcji, mamy tutaj różnicę.
Składnia rundy w programie Excel: Round (liczba, liczba cyfr po przecinku)
Składnia rundy VBA: Round (liczba; [liczba cyfr po przecinku])
W programie Excel oba argumenty są obowiązkowe, ale w VBA drugi argument jest opcjonalny.
W VBA, jeśli zignorujesz drugi argument, domyślnym argumentem będzie zero, więc otrzymamy liczbę całkowitą.
# 2 - Wyniki:
Wyniki podane przez te dwie funkcje są różne. Poniżej kilka przykładów