Excel VBA кръгла функция

Трябва да сте използвали функцията Excel Round, за да закръгляте плаващите числа до определен брой десетични знаци. Функцията VBA Round се държи изцяло по различен начин от тази, която използвате в Excel. Функцията VBA Round използва логиката „кръгла до равна“. Ако числото, което се опитвате да закръгляте, има последната цифра след десетичната стойност> = 0, 6, функцията VBA Round я закръгля (нагоре).

Ако числото, което се опитвате да закръгляте, има последната цифра след десетичната стойност <= 0, 4, то го закръгля надолу (закръгляне надолу). Да предположим, че десетичната част е точно 0, 5, тогава какво прави? В такива случаи той проверява с целочислената част на числото. Ако целочислената част е четна, тя се закръгля надолу до четното число на десетичната част. Ако цяла част е нечетна, тогава тя я закръгля до четното число. Този метод на закръгляване се нарича още „закръгляне на банкер“.

Синтаксис на кръглата функция в Excel VBA

Функцията VBA Round има следния синтаксис:

Където,

  • Израз - плаващото число, което искате да закръгляте.
  • Decimal_places - Това е незадължителен аргумент, който приема цяло число, което определя десетичните знаци, до които се предполага, че числото е кръгло. Винаги трябва да е по-голямо или равно на нула. Ако не е посочено, по подразбиране се счита нула. Което означава, че числото е закръглено до цяло число.

Как да използвате кръглата функция на Excel VBA?

Ще научим как да използваме функция VBA Round с няколко примера в Excel.

Можете да изтеглите този шаблон на VBA Round Excel тук - VBA кръгъл шаблон на Excel

Пример №1 - VBA кръгла функция за закръгляне на число

Следвайте стъпките по-долу, за да използвате функцията Round в Excel VBA.

Стъпка 1: Поставете нов модул под Visual Basic Editor (VBE).

Стъпка 2: Определете нова под-процедура за съхраняване на макрос в VBE.

Код:

 Sub Round_Ex1 () End Sub 

Стъпка 3: Използвайте функцията MsgBox, за да можете да изскочите съобщение като това „Стойността закръглена е:“

Код:

 Sub Round_Ex1 () MsgBox "Закръглената стойност е:" End Sub 

Стъпка 4: Сега добавете „& Round (10.9834, 2)“ пред командата MsgBox, така че закръглената стойност ще бъде показана в полето за съобщения заедно.

Код:

 Sub Round_Ex1 () MsgBox "Закръглената стойност е:" & Round (10.9834, 2) End Sub 

Стъпка 5: Натиснете F5 или бутона Run, поставен в най-горния панел, за да стартирате този код. Ще видите изход, както е показано по-долу.

Пример №2 - Закръгляване на променлива с помощта на VBA Round

Стъпка 1: Определете нова под-процедура в VBE, за да съхранявате макрос.

Код:

 Sub Round_Ex2 () End Sub 

Стъпка 2: Определете променлива, наречена roundNumber като Double, която може да задържи стойността на числото, което трябва да бъде закръглено.

Код:

 Sub Round_Ex2 () Dim roundNumber като Double End Sub 

Стъпка 3: Задайте числова стойност, която трябва да бъде закръглена към тази променлива с помощта на оператор за присвояване.

Код:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23.98 Край Sub 

Стъпка 4: Използвайте комбинация от MsgBox заедно с функция Round, за да закръгляте това число до една десетична запетая.

Код:

 Sub Round_Ex2 () Dim roundNumber As Double roundNumber = 23, 98 MsgBox "Закръгленото число е:" & Round (roundNumber, 1) End Sub 

Стъпка 5: Нека натиснете F5 или бутона Run, за да стартирате този код и да видите резултата.

Можете да видите изход, както е показано на екрана по-горе. Моля, обърнете внимание, че с логиката на "кръг до четно", последният десетичен знак се закръгля на 10, а следващият десетичен става 10 сам, поради което числото се закръгля до най-близката четна част от цяло число (т.е. 24).

Пример №3 - Кръгла стойност на клетката с помощта на VBA Round

Да предположим, че стойността, която искате да закръгляте, се съхранява в една клетка на вашия excel работен лист.

Всичко, което искате, е да закръгляте тази стойност до две десетични знака.

Стъпка 1: Определете нова под-процедура в Модул за съхранение на макроса.

Код:

 Sub Round_Ex3 () End Sub 

Стъпка 2: Напишете командата като "Обхват (" A2 "). Стойност =". Тази команда работи като място, където изходът ще се съхранява.

Код:

 Sub Round_Ex3 () Обхват ("A2"). Стойност = Край Sub 

Стъпка 3: Сега използвайте кръгла функция, за да закръгляте стойността, присъстваща в клетка А1, и съхранявайте резултата в клетка A2. Напишете следния код: Кръг (диапазон („A1“). Стойност, 2).

Код:

 Sub Round_Ex3 () Обхват ("A2"). Стойност = Кръг (обхват ("A1"). Стойност, 2) Край Sub 

Стъпка 4: Натиснете F5 или Run бутона, за да стартирате този код и да видите изхода в клетка A2 на вашия работен лист.

Пример №4 - Закръгляне на числото чрез функция VBA RoundUp

Да предположим, че искате да закръгляте число нагоре с помощта на VBA. Можете да направите това с помощта на WorksheetFunction.RoundUp функцията.

Стъпка 1: Определете нова под-процедура в Visual Basic Editor, която може да съхранява вашия макрос.

Код:

 Sub Round_Ex4 () End Sub 

Стъпка 2: Определете две променливи, едната за да задържите числото, което искате да закръгляте. И другото, за да съхранява резултата от закръглянето.

Код:

 Sub Round_Ex4 () Dim numToRound като Double Dim numRoundUp като Double End Sub 

Стъпка 3: Съхранявайте стойност в променлива numToRound, която искате да закръгляте.

Код:

 Sub Round_Ex4 () Dim numToRound като Double Dim numRoundUp като Double numToRound = 12.7543712 Край Sub 

Стъпка 4: Сега използвайте RoundUp, за да закръгляте това число и да съхранявате резултата в numRoundUp променлива.

Код:

 Sub Round_Ex4 () Dim numToRound като Double Dim numRoundUp като Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) End Sub 

Стъпка 5: Използвайте MsgBox, за да покажете изхода под полето за съобщения.

Код:

 Sub Round_Ex4 () Dim numToRound като Double Dim numRoundUp като Double numToRound = 12.7543712 numRoundUp = Application.WorksheetFunction.RoundUp (numToRound, 4) MsgBox "Числото закръглено е:" & numRoundUp End Sub 

Стъпка 6: Натиснете F5 или Run бутона, за да стартирате този код и да видите изхода.

Пример №5 - Закръгляне на числото чрез функция VBA RoundDown

Стъпка 1: В нова под-процедура дефинирайте две нови променливи с името numToRoundDown и roundDownNum. Единият задържа стойността на числото, което трябва да се закръгли надолу, а други да съхранява изхода след закръглянето на числото надолу.

Код:

 Sub Round_Ex5 () Dim numToRoundDown като Double Dim roundDownNum като Double End Sub 

Стъпка 2: Задайте стойност, която искате да бъде закръглена надолу до променливата, наречена „numToRoundDown“.

Код:

 Sub Round_Ex5 () Dim numToRoundDown като Double Dim RoundDownNum като двойно numToRoundDown = 7.075711 Край Sub 

Стъпка 3: Сега използвайте RoundDown, за да закръгляте този номер и да съхранявате резултата в променлива roundDownNum.

Код:

 Sub Round_Ex5 () Dim numToRoundDown като двоен дим roundDownNum като двойно numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) край Sub 

Стъпка 4: Използвайте функцията MsgBox, за да покажете стойността на число, закръглено надолу.

Код:

 Sub Round_Ex5 () Dim numToRoundDown като двойно дим roundDownNum като двойно numToRoundDown = 7.075711 roundDownNum = Application.WorksheetFunction.RoundDown (numToRoundDown, 4) MsgBox "Номерът закръглено надолу е:" & roundDownN 

Стъпка 5: Натиснете F5 или Run бутона, за да стартирате този код и да видите изхода като поле за съобщение.

Това е това в статията. Заснехме концепциите за VBA Round, Round Up и Round Down с шепа примери.

Неща, които трябва да запомните

  • Тази функция използва метод на закръгляване на Banker, за да закръгли числата, които са малко по-различни от действителния метод на закръгляне.
  • Тази функция се използва за закръгляне на число с плаваща точка или число с фиксирани десетични знаци до определен брой места.
  • Това означава, че функцията ще закръгли нагоре или надолу числото в зависимост от броя след десетичните знаци.
  • Аргументът decimal_places трябва да бъде по-голям или равен на нула.
  • Ако decimal_places се остави празен, той ще се счита за нула и числото ще бъде закръглено до най-близкото цяло число.
  • Ако decimal_places е зададено по-малко от нула, тогава възниква грешка във времето на изпълнение 5. „Грешка по време на изпълнение„ 5 “: Невалидно обаждане или аргумент на процедура“.
  • Наистина не може да се предвиди до какво тази функция ще закръгли стойността, когато цифрата след десетичната стойност е 5.
  • Ако един или и двата аргумента на функцията Round са нечислени, функцията ще върне грешка на времето на изпълнение 13. „Грешка по време на изпълнение„ 13 “: Тип несъответствие“.

Препоръчителни статии

Това е ръководство за кръглата функция на VBA. Тук сме обсъдили как да използвате Excel VBA Round Fun, заедно с практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Пълно ръководство за VBA при грешка
  2. Как да използвате VBA формат на номера?
  3. Функция VBA VLOOKUP с примери
  4. Създаване на VBA функция в Excel

Категория: