Funkcje VBA Round, RoundUp i RoundDown

Runda VBA

Funkcja VBA Round Function zaokrągla liczby do określonej liczby cyfr.

Składnia funkcji VBA Round

Składnia funkcji rundy VBA to:

Round(Expression, [Decimal_places]), gdzie:

  • Wyrażenie - liczba do zaokrąglenia.
  • Miejsca dziesiętne (Opcjonalny) - liczba całkowita określająca liczbę miejsc dziesiętnych do zaokrąglenia. Wartość musi być większa lub równa 0 (>=0). Jeśli jest puste, używana jest wartość domyślna 0, co oznacza, że ​​funkcja zaokrągla do najbliższej liczby całkowitej.

Spójrzmy więc na przykład, aby zobaczyć, jak działa funkcja VBA Round, zaokrąglając do 1 miejsca po przecinku:

12345 Sub runda1()Okrągły komunikator (7,25, 1)Napis końcowy

Wynikowy MessageBox:

VBA Zaokrąglaj zmienną

W powyższym przykładzie wprowadziliśmy liczbę do zaokrąglenia bezpośrednio do funkcji, zwykle jednak zamiast tego zaokrągla się zmienną. Poniżej znajduje się przykład użycia zmiennej:

Uwaga: Do przechowywania wartości dziesiętnych używamy zmiennej typu Double.

123456789 Sub RoundUsingVariable()Dim liczba jednostek jako podwójnaliczba jednostek = 7,25MsgBox "Wartość to " & Round(liczba jednostek, 1)Napis końcowy

Wynik to:

Wyniki zaokrąglania VBA

Rzeczywista liczba Liczba miejsc dziesiętnych Wynik
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!

Wartość okrągłej komórki VBA

Możesz także zaokrąglić wartość komórki bezpośrednio w VBA:

123 Sub OkrągłaKomórka()Range("A1").Value = Round(Range("A1").Value, 2)Napis końcowy

Funkcja zaokrąglania VBA

Załóżmy, że chcesz zaokrąglić liczbę w górę, używając VBA. Nie ma wbudowanej funkcji równoważnej VBA RoundUp, zamiast tego możesz wywołać funkcję Excel RoundUp Worksheet z kodu VBA:

1 roundupUnitcount = Application.WorksheetFunction.RoundUp(liczba jednostek, 3)

Funkcje arkusza Excela są dostępne do użycia w VBA, poprzez użycie Funkcja arkusza roboczego obiekt. Jedyne funkcje arkusza, których nie można wywołać, to te, które mają już wbudowany odpowiednik VBA.

Przypomnienie składni funkcji zaokrąglania arkusza programu Excel:

ZAOKR(liczba, cyfry) gdzie:

  • Liczba - liczba, którą chcesz zaokrąglić w górę.
  • Cyfry - liczba cyfr, którą chcesz zaokrąglić.

Spójrzmy więc na przykład, aby zobaczyć, jak uzyskać dostęp do funkcji RoundUp Worksheet w kodzie VBA:

12345678910111213 Sub RoundUp()Dim liczba jednostek jako podwójnaDim roundupUnitcount As Doubleliczba jednostek = 7,075711roundupUnitcount = Application.WorksheetFunction.RoundUp(liczba jednostek, 4)MsgBox "Wartość to " & roundupUnitcountNapis końcowy

Wynik to:

Zaokrąglaj do najbliższej liczby całkowitej

Możesz zaokrąglić w górę do najbliższej liczby całkowitej, określając 0 jako liczbę miejsc po przecinku:

12345 Sub RoundUpWhole()MsgBox Aplikacja.WorksheetFunction.RoundUp(7.1, 0)Napis końcowy

Dostarczony wynik:

Programowanie VBA | Generator kodu działa dla Ciebie!

Wyniki funkcji RoundUp

Rzeczywista liczba Cyfry Wynik
7.075711 0 8
7.075711 1 7.1
7.075711 2 7.08
7.075711 3 7.076
7.075711 -1 10
7.075711 -2 100
7.075711 -3 1000

Funkcja zaokrąglania w dół VBA

Załóżmy, że chcesz zaokrąglić liczbę w dół, używając VBA. Nie ma też wbudowanej równoważnej funkcji VBA RoundDown, zamiast tego należy wywołać funkcję Excel RoundDown Worksheet z kodu VBA.

Przypomnienie składni funkcji zaokrąglania arkusza programu Excel:

ROUNDDOWN(liczba; cyfry) gdzie:

• Liczba - liczba, którą chcesz zaokrąglić w dół.
• Cyfry - liczba cyfr, które chcesz zaokrąglić.

Spójrzmy więc na przykład, aby zobaczyć, jak uzyskać dostęp do funkcji RoundDown Worksheet w kodzie VBA:

12345678910111213 Zaokrąglenie w dół()Dim liczba jednostek jako podwójnaDim rounddown Liczba jednostek jako podwójnaliczba jednostek = 5,225193rounddownUnitcount = Application.WorksheetFunction.RoundDown(liczba jednostek, 4)MsgBox "Wartość to " i rounddownUnitcountNapis końcowy

Wynik to:

Zaokrąglanie do najbliższej liczby całkowitej

Możesz zaokrąglić w dół do najbliższej liczby całkowitej, określając 0 jako liczbę miejsc po przecinku:

12345 Sub RoundDownWhole()MsgBox Application.WorksheetFunction.RoundDown(7.8, 0)Napis końcowy

Wynik to:

Wyniki funkcji zaokrąglania w dół

Rzeczywista liczba Cyfry Wynik
5.225193 0 5
5.225193 1 5.2
5.225193 2 5.22
5.225193 3 5.225
5.225193 -1 0
5.225193 -2 0
5.225193 -3 0

Programowanie VBA | Generator kodu działa dla Ciebie!

Inne funkcje zaokrąglania VBA

Pułap VBA - zaokrąglenie do określonego znaczenia

VBA nie ma odpowiednika funkcji Ceiling.Math, więc jeśli chcesz zaokrąglić liczbę w górę do najbliższej liczby całkowitej lub do najbliższej określonej wielokrotności istotności, możesz wywołać funkcję arkusza Excela Ceiling.Math z kodu VBA.

Przypomnienie składni arkusza kalkulacyjnego Excela. Funkcja matematyczna:

CEILING.MATH(Liczba;[Istotność];[Tryb]) gdzie:

  • Liczba - liczba, którą chcesz zaokrąglić w górę.
  • Znaczenie (Opcjonalny) – wielokrotność, do której chcesz zaokrąglić liczbę.
  • Tryb (Opcjonalny) - Kontroluje, czy liczby ujemne są zaokrąglane do zera, czy od zera.

Spójrzmy więc na przykład, aby zobaczyć, jak uzyskać dostęp do funkcji Ceiling.Math Worksheet w kodzie VBA:

12345678910111213 Sub RoundUpToSignificance()Dim liczba jednostek jako podwójnaDim CeilingmathLiczba jednostek jako podwójnaliczba jednostek = 4,1221CeilingmathUnitcount = Application.WorksheetFunction.Ceiling_Math(liczba jednostek, 5)MsgBox "Wartość to " & CeilingmathUnitcountNapis końcowy

Wynik to:

VBA RoundUp do określonych wyników istotności

Rzeczywista liczba Znaczenie Tryb Wynik
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

VBA Floor - zaokrąglanie do określonego znaczenia

VBA również nie ma odpowiednika funkcji Floor.Math. Jednak po raz kolejny, jeśli chcesz zaokrąglić liczbę w dół do najbliższej liczby całkowitej lub do najbliższej określonej wielokrotności istotności, możesz wywołać funkcję arkusza Excela Floor.Math z VBA.

Przypomnienie składni funkcji Excel Worksheet Floor.Math:

FLOOR.MATH(Liczba;[Istotność];[Tryb]) gdzie:
• Liczba - liczba, którą chcesz zaokrąglić w dół.
• Znaczenie (Opcjonalny) – wielokrotność, do której chcesz zaokrąglić liczbę.
• Tryb (Opcjonalny) - Określa, czy liczby ujemne są zaokrąglane do zera, czy od zera.

Spójrzmy więc na przykład, aby zobaczyć, jak uzyskać dostęp do funkcji Floor.Math Worksheet w kodzie VBA:

1234567891011 Sub RoundDownToSignificance()Dim liczba jednostek jako podwójnaDim floormatthLiczba jednostek jako podwójnaliczba jednostek = 4,55555559floormathUnitcount = Application.WorksheetFunction.Floor_Math(liczba jednostek, 2)MsgBox "Wartość to " i floormathUnitcountNapis końcowy

Wynik to:

VBA RoundDown do określonych wyników istotności

Rzeczywista liczba Znaczenie Tryb Wynik
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave