Kruhová funkce Excel VBA

Musíte použít funkci Excel Round k zaokrouhlení pohyblivých čísel na konkrétní počet desetinných míst. Funkce VBA Round se chová úplně jiným způsobem, než jaký používáte v Excelu. Funkce VBA Round používá logiku „zaokrouhlit na sudý“. Pokud číslo, které se pokoušíte zaokrouhlit, má poslední desetinu za desetinnou čárkou> = 0, 6, funkce VBA Round ji zaokrouhlí nahoru (Zaokrouhlit nahoru).

Pokud číslo, které se pokoušíte zaokrouhlit, má poslední desetinu za desetinnou čárkou <= 0, 4, zaokrouhlí ji dolů (Zaokrouhlit dolů). Předpokládejme, že desetinná část je přesně 0, 5 a co tedy dělá? V takových případech zkontroluje celočíselnou část čísla. Pokud je celá část sudá, zaokrouhlí se dolů na sudé číslo desetinné části. Pokud je celá část lichá, zaokrouhlí ji na sudé číslo. Tento způsob zaokrouhlování se také nazývá „zaokrouhlování bankéře“.

Syntaxe kulaté funkce v Excelu VBA

Funkce VBA Round má následující syntaxi:

Kde,

  • Expression - Plovoucí číslo, které jste chtěli zaokrouhlit.
  • Decimal_places - Je to volitelný argument, který bere celočíselnou hodnotu, která určuje desetinná místa, na které má být číslo zaokrouhleno. Mělo by být vždy větší nebo rovno nule. Pokud není uvedeno, bude ve výchozím nastavení uvažována nula. Což znamená, že číslo je zaokrouhleno na celé číslo.

Jak používat Excel VBA Round Function?

Naučíme se používat funkci VBA Round s několika příklady v Excelu.

Tuto šablonu VBA Round Excel si můžete stáhnout zde - VBA Round Excel Template

Příklad # 1 - Funkce VBA Round zaokrouhluje číslo

Chcete-li použít funkci Round v Excel VBA, postupujte podle následujících kroků.

Krok 1: Vložte nový modul do editoru jazyka (VBE).

Krok 2: Definujte nový dílčí postup pro uložení makra do VBE.

Kód:

 Sub Round_Ex1 () End Sub 

Krok 3: Pomocí funkce MsgBox můžete vyskakovat zprávu jako je tato „Hodnota zaokrouhlená je:“

Kód:

 Sub Round_Ex1 () MsgBox "Zaokrouhlená hodnota je:" End Sub 

Krok 4: Nyní přidejte „& Round (10.9834, 2)“ před příkaz MsgBox tak, aby se zaokrouhlená hodnota zobrazila v okně zprávy spolu.

Kód:

 Sub Round_Ex1 () MsgBox "Zaokrouhlená hodnota je:" & Round (10.9834, 2) End Sub 

Krok 5: Chcete-li spustit tento kód, stiskněte klávesu F5 nebo tlačítko Spustit umístěné na horním panelu. Uvidíte výstup, jak je uvedeno níže.

Příklad č. 2 - Zaokrouhlení proměnné pomocí kola VBA

Krok 1: Definujte novou podprogram ve VBE pro uložení makra.

Kód:

 Sub Round_Ex2 () End Sub 

Krok 2: Definujte proměnnou s názvem roundNumber jako Double, která může obsahovat hodnotu čísla, které má být zaokrouhleno.

Kód:

 Sub Round_Ex2 () Dim roundNumber As Double End Sub 

Krok 3: Přiřaďte číselné hodnotě, která má být zaokrouhlena na tuto proměnnou pomocí operátoru přiřazení.

Kód:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 End Sub 

Krok 4: Pomocí kombinace MsgBoxu a funkce Round zaokrouhlete toto číslo na jedno desetinné místo.

Kód:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 MsgBox "Zaokrouhlené číslo je:" & Round (roundNumber, 1) End Sub 

Krok 5: Stiskem klávesy F5 nebo tlačítka Run spustíme tento kód a uvidíme výstup.

Můžete vidět výstup, jak je uvedeno na obrázku výše. Vezměte prosím na vědomí, že s logikou „zaokrouhlit na sudý“ se poslední desetinné místo zaokrouhlí na 10 a následující desetinné místo se stane 10 samotným, díky čemuž je číslo zaokrouhleno na nejbližší sudou část celého čísla (tj. 24).

Příklad č. 3 - Zaokrouhlená hodnota buňky pomocí VBA kola

Předpokládejme, že hodnota, kterou chcete zaokrouhlit, je uložena v jedné buňce excelového listu.

Vše, co chcete, je zaokrouhlit tuto hodnotu na dvě desetinná místa.

Krok 1: Definujte nový dílčí postup v modulu pro uložení makra.

Kód:

 Sub Round_Ex3 () End Sub 

Krok 2: Napište příkaz jako „Range (“ A2 ”). Value =”. Tento příkaz funguje jako místo, kde bude výstup uložen.

Kód:

 Sub Round_Ex3 () Range ("A2"). Hodnota = End Sub 

Krok 3: Nyní použijte kulatou funkci pro zaokrouhlování hodnoty přítomné v buňce A1 a výsledek uložte do buňky A2. Napiš následující kód: Round (Range („A1“). Value, 2).

Kód:

 Sub Round_Ex3 () Range ("A2"). Value = Round (Range ("A1"). Value, 2) End Sub 

Krok 4: Stisknutím klávesy F5 nebo Run spusťte tento kód a podívejte se na výstup v buňce A2 vašeho listu.

Příklad č. 4 - Zaokrouhlujte číslo pomocí funkce VBA RoundUp

Předpokládejme, že chcete zaokrouhlit číslo nahoru pomocí VBA. To lze provést pomocí funkce WorksheetFunction.RoundUp.

Krok 1: Definujte nový dílčí postup v editoru jazyka Visual Basic, který může ukládat vaše makro.

Kód:

 Sub Round_Ex4 () End Sub 

Krok 2: Definujte dvě proměnné, jednu pro držení čísla, které chcete zaokrouhlit nahoru. A druhý pro uložení výsledku zaokrouhlování.

Kód:

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

Krok 3: Uložte hodnotu do proměnné numToRound, kterou chcete zaokrouhlit nahoru.

Kód:

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

Krok 4: Nyní pomocí RoundUp zaokrouhlete toto číslo a uložte výsledek do proměnné numRoundUp.

Kód:

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

Krok 5: Pomocí MsgBoxu zobrazte výstup pod oknem zprávy.

Kód:

 Sub Round_Ex4 () Dim numToRound jako Double Dim numRoundUp As Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Počet zaokrouhlených nahoru je:" & numRoundUp End Sub 

Krok 6: Stisknutím klávesy F5 nebo Run spusťte tento kód a podívejte se na výstup.

Příklad č. 5 - Zaokrouhlení čísla pomocí funkce VBA RoundDown

Krok 1: V nové dílčí proceduře definujte dvě nové proměnné s názvem numToRoundDown a roundDownNum. Jeden drží hodnotu čísla, které má být zaokrouhleno dolů, a další, aby uložil výstup po zaokrouhlení čísla dolů.

Kód:

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

Krok 2: Přiřaďte hodnotu, kterou chcete zaokrouhlit dolů, k proměnné s názvem „numToRoundDown“.

Kód:

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

Krok 3: Nyní použijte RoundDown k zaokrouhlování tohoto čísla a uložení výsledku do proměnné roundDownNum.

Kód:

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

Krok 4: Pomocí funkce MsgBox zobrazte hodnotu čísla zaokrouhleného dolů.

Kód:

 Sub Round_Ex5 () Dim numToRoundDown jako Double Dim round roundDownNum As Double numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Počet zaokrouhlen dolů je:" & roundDownNum End Sub 

Krok 5: Stisknutím klávesy F5 nebo Spustit spustíte tento kód a uvidíte výstup jako okno se zprávou.

To je to v článku. S hrstkou příkladů jsme zachytili koncepty VBA Round, Round Up a Round Down.

Co si pamatovat

  • Tato funkce používá metodu zaokrouhlování Banker k zaokrouhlování čísel, která jsou poněkud odlišná od skutečné metody zaokrouhlování.
  • Tato funkce se používá k zaokrouhlení čísla s plovoucí desetinnou čárkou nebo číslem s pevnými desetinnými místy na určený počet míst.
  • To znamená, že funkce zaokrouhlí číslo nahoru nebo dolů v závislosti na počtu za desetinnými místy.
  • Argument decimal_places musí být větší nebo roven nule.
  • Pokud decimal_places zůstane prázdné, bude považováno za nulu a číslo bude zaokrouhleno na nejbližší celé číslo.
  • Pokud je decimal_places nastaveno méně než nula, pak nastane chyba 5 běhu. „Chyba za běhu '5': Neplatné volání procedury nebo argument“.
  • Není opravdu předvídatelné, co tato funkce zaokrouhlí hodnotu, když číslice za desetinnou čárkou je 5.
  • Pokud je jeden nebo oba argumenty Round funkce nečíselný, pak funkce vrátí chybu run time 13. „Chyba za běhu '13': Neshoda typu“.

Doporučené články

Toto byl průvodce funkcí VBA Round Function. Zde jsme diskutovali o tom, jak používat Excel VBA Round Function spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Kompletní průvodce VBA při chybě
  2. Jak používat formát čísla VBA?
  3. Funkce VBA VLOOKUP s příklady
  4. Vytvoření funkce VBA v Excelu

Kategorie: