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 |