Funkcja Excel VBA Round

Musisz użyć funkcji Excel Round, aby zaokrąglić liczby zmiennoprzecinkowe w górę do określonej liczby miejsc dziesiętnych. Funkcja VBA Round zachowuje się całkowicie inaczej niż ta, której używasz w programie Excel. Funkcja VBA Round wykorzystuje logikę „zaokrąglenia do parzystości”. Jeśli liczba, którą próbujesz zaokrąglić, ma ostatnią cyfrę po przecinku> = 0, 6, funkcja VBA Round zaokrągla ją w górę (Round UP).

Jeśli liczba, którą próbujesz zaokrąglić, ma ostatnią cyfrę po przecinku <= 0, 4, zaokrągla ją w dół (zaokrąglanie w dół). Załóżmy, że część dziesiętna wynosi dokładnie 0, 5, a co ona robi? W takich przypadkach sprawdza część całkowitą liczby. Jeśli liczba całkowita jest parzysta, to zaokrągla w dół do parzystej liczby części dziesiętnej. Jeśli część całkowita jest nieparzysta, to zaokrągla ją do liczby parzystej. Ta metoda zaokrąglania jest również nazywana „zaokrąglaniem bankiera”.

Składnia funkcji okrągłej w programie Excel VBA

Funkcja VBA Round ma następującą składnię:

Gdzie,

  • Wyrażenie - liczba zmiennoprzecinkowa, którą chcesz zaokrąglić.
  • Decimal_places - Jest to opcjonalny argument, który przyjmuje wartość całkowitą, która określa miejsca dziesiętne, do których liczba powinna być zaokrąglona. Powinien zawsze być większy lub równy zero. Jeśli nie zostanie określony, domyślnie brane jest pod uwagę zero. Co oznacza, że ​​liczba jest zaokrąglana do liczby całkowitej.

Jak korzystać z funkcji Excel VBA Round?

Nauczymy się korzystać z funkcji Round VBA z kilkoma przykładami w Excelu.

Możesz pobrać ten szablon VBA Round Excel tutaj - VBA Round Excel Template

Przykład # 1 - Funkcja VBA Round do zaokrąglania liczby

Wykonaj poniższe kroki, aby użyć funkcji Round w programie Excel VBA.

Krok 1: Wstaw nowy moduł w Visual Basic Editor (VBE).

Krok 2: Zdefiniuj nową podprocedurę do przechowywania makra w VBE.

Kod:

 Sub Round_Ex1 () End Sub 

Krok 3: Użyj funkcji MsgBox, aby móc wyświetlić komunikat typu „Zaokrąglona wartość to:”

Kod:

 Sub Round_Ex1 () MsgBox "Zaokrąglona wartość to:" End Sub 

Krok 4: Teraz dodaj „& Round (10.9834, 2)” przed poleceniem MsgBox, aby zaokrąglona wartość pojawiła się w oknie komunikatu obok.

Kod:

 Sub Round_Ex1 () MsgBox „Wartość zaokrąglona to:” i Round (10.9834, 2) End Sub 

Krok 5: Naciśnij F5 lub przycisk Uruchom umieszczony w najwyższym panelu, aby uruchomić ten kod. Zobaczysz wynik, jak pokazano poniżej.

Przykład 2 - Zaokrąglanie zmiennej za pomocą rundy VBA

Krok 1: Zdefiniuj nową podprocedurę w VBE do przechowywania makra.

Kod:

 Sub Round_Ex2 () End Sub 

Krok 2: Zdefiniuj zmienną o nazwie roundNumber jako Double, która może przechowywać wartość liczby do zaokrąglenia.

Kod:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Krok 3: Przypisz wartość liczbową, która ma być zaokrąglona do tej zmiennej za pomocą operatora przypisania.

Kod:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 End Sub 

Krok 4: Użyj kombinacji MsgBox wraz z funkcją Round, aby zaokrąglić tę liczbę do jednego miejsca po przecinku.

Kod:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 MsgBox „Zaokrąglona liczba to:” i Round (roundNumber, 1) End Sub 

Krok 5: Naciśnijmy F5 lub przycisk Uruchom, aby uruchomić ten kod i zobaczyć dane wyjściowe.

Możesz zobaczyć wynik, jak pokazano na zrzucie ekranu powyżej. Zauważ, że przy logice „zaokrąglić do parzystej”, ostatnia liczba dziesiętna jest zaokrąglana do 10, a następna liczba dziesiętna staje się samą 10, dzięki czemu liczba jest zaokrąglana do najbliższej parzystej części liczby całkowitej (tj. 24).

Przykład # 3 - Okrągła wartość komórki przy użyciu rundy VBA

Załóżmy, że wartość, którą chcesz zaokrąglić, jest przechowywana w jednej komórce arkusza programu Excel.

Wystarczy zaokrąglić tę wartość do dwóch miejsc po przecinku.

Krok 1: Zdefiniuj nową podprocedurę w module do przechowywania makra.

Kod:

 Sub Round_Ex3 () End Sub 

Krok 2: Napisz polecenie jako „Zakres („ A2 ”). Wartość =”. To polecenie działa jako lokalizacja, w której będą przechowywane dane wyjściowe.

Kod:

 Sub Round_Ex3 () Zakres („A2”). Wartość = End Sub 

Krok 3: Teraz użyj funkcji zaokrąglania, aby zaokrąglić wartość obecną w komórce A1 i zapisać wynik w komórce A2. Napisz następujący fragment kodu: Okrągły (Zakres („A1”). Wartość, 2).

Kod:

 Sub Round_Ex3 () Zakres („A2”). Wartość = Round (Zakres („A1”). Wartość, 2) End Sub 

Krok 4: Naciśnij F5 lub przycisk Uruchom, aby uruchomić ten kod i zobaczyć dane wyjściowe w komórce A2 arkusza roboczego.

Przykład 4 - Zaokrąglanie liczby za pomocą funkcji VBA RoundUp

Załóżmy, że chcesz zaokrąglić liczbę za pomocą VBA. Możesz to zrobić za pomocą funkcji WorksheetFunction.RoundUp.

Krok 1: Zdefiniuj nową podprocedurę w edytorze Visual Basic, która może przechowywać twoje makro.

Kod:

 Sub Round_Ex4 () End Sub 

Krok 2: Zdefiniuj dwie zmienne, jedną do przechowywania liczby, którą chcesz zaokrąglić w górę. A drugi do przechowywania wyniku łapanki.

Kod:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double End Sub 

Krok 3: Zapisz wartość w zmiennej numToRound, którą chcesz zaokrąglić w górę.

Kod:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 End Sub 

Krok 4: Teraz użyj RoundUp, aby zaokrąglić tę liczbę i zapisać wynik w zmiennej numRoundUp.

Kod:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Krok 5: Użyj MsgBox, aby wyświetlić dane wyjściowe pod polem komunikatu.

Kod:

 Sub Round_Ex4 () Dim numToRound As Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Zaokrąglona liczba to:" & numRoundUp End Sub 

Krok 6: Naciśnij F5 lub przycisk Uruchom, aby uruchomić ten kod i zobaczyć wynik.

Przykład 5 - Zaokrąglanie w dół liczby za pomocą funkcji VBA RoundDown

Krok 1: W nowej podprocedurze zdefiniuj dwie nowe zmienne o nazwach numToRoundDown i roundDownNum. Jeden do przechowywania wartości liczby do zaokrąglenia w dół, a drugi do przechowywania danych wyjściowych po zaokrągleniu liczby w dół.

Kod:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double End Sub 

Krok 2: Przypisz wartość, którą chcesz zaokrąglić w dół, do zmiennej o nazwie „numToRoundDown”.

Kod:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 End Sub 

Krok 3: Teraz użyj RoundDown, aby zaokrąglić tę liczbę i zapisać wynik w zmiennej roundDownNum.

Kod:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) End Sub 

Krok 4: Użyj funkcji MsgBox, aby wyświetlić wartość liczby zaokrąglonej w dół.

Kod:

 Sub Round_Ex5 () Dim numToRoundDown As Double Dim roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Zaokrąglona liczba to:" & roundDownNum End Sub 

Krok 5: Naciśnij F5 lub przycisk Uruchom, aby uruchomić ten kod i zobaczyć dane wyjściowe jako okno komunikatu.

To jest w tym artykule. Przechwyciliśmy pojęcia VBA Round, Round Up i Round Down z garstką przykładów.

Rzeczy do zapamiętania

  • Ta funkcja używa metody zaokrąglania Bankera do zaokrąglania liczb, które są nieco inne niż faktyczna metoda zaokrąglania.
  • Ta funkcja służy do zaokrąglania liczby z liczbą zmiennoprzecinkową lub liczby ze stałymi liczbami dziesiętnymi do określonej liczby miejsc.
  • Oznacza to, że funkcja zaokrągli liczbę w górę lub w dół w zależności od liczby po przecinku.
  • Argument decimal_places musi być większy lub równy zero.
  • Jeśli miejsca dziesiętne pozostaną puste, zostanie uznane za zero, a następnie liczba zostanie zaokrąglona do najbliższej liczby całkowitej.
  • Jeśli liczba miejsc dziesiętnych jest ustawiona na mniej niż zero, wówczas pojawia się błąd czasu wykonania 5. „Błąd czasu wykonania„ 5 ”: niepoprawne wywołanie procedury lub argument”.
  • Nie jest do końca przewidywalne, co ta funkcja zaokrągli wartość, gdy cyfra po przecinku wynosi 5.
  • Jeśli jeden lub oba argumenty funkcji Round są nienumeryczne, wówczas funkcja zwróci błąd 13 czasu działania. „Błąd czasu wykonania„ 13 ”: niezgodność typów”.

Polecane artykuły

Jest to przewodnik po funkcji rundy VBA. Tutaj omówiliśmy, jak korzystać z funkcji Excel VBA Round Function, wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Kompletny przewodnik po VBA o błędzie
  2. Jak korzystać z formatu liczb VBA?
  3. Funkcja VBA VLOOKUP z przykładami
  4. Tworzenie funkcji VBA w Excelu

Kategoria: