Екцел ВБА округла функција

Сигурно сте користили функцију Екцел Роунд да бисте заокружили плутајуће бројеве до одређеног броја децималних места. Функција ВБА Роунд понаша се потпуно другачије од оне коју користите у Екцелу. Функција ВБА Роунд користи логику "заокруживање и изједначивање". Ако број који покушавате заокружити има задњу цифру након децималног значаја> = 0, 6, функција ВБА Роунд га заокружује (заокружи нагоре).

Ако број који покушавате заокружити има задњу цифру након децималног знака <= 0, 4, заокружује га (заокружити према доље). Претпоставимо да је децимални део тачно 0, 5, шта онда ради? У таквим случајевима, то проверава са целим делом броја. Ако је цели део пар, тада се заокружује на парни број децималног дела. Ако је цео део непаран, онда га заокружује на парни број. Ова метода заокруживања се још назива и „заокруживање банкара“.

Синтакса округле функције у Екцелу ВБА

ВБА округла функција има следећу синтаксу:

Где,

  • Израз - плутајући број који сте желели заокружити.
  • Децимал_плацес - То је опционални аргумент који узима цела вредност која одређује децимална места до којих би требало да буде заокружен број. Увек треба да буде већа од или једнака нули. Ако није специфицирано, подразумевана нула се сматра. Што значи да је број заокружен на цео број.

Како се користи Екцел ВБА округла функција?

Научићемо како користити ВБА Роунд функцију са неколико примера у Екцелу.

Овај ВБА округли Екцел предложак можете преузети овде - ВБА округли Екцел образац

Пример # 1 - ВБА округла функција за заокруживање броја

Следите доле наведене кораке да бисте користили функцију Роунд у Екцелу ВБА.

Корак 1: Уметните нови модул под Висуал Басиц Едитор (ВБЕ).

Корак 2: Дефинишите нови под-поступак за чување макронаредбе у ВБЕ.

Шифра:

 Суб Роунд_Ек1 () Крај Суб 

Корак 3: Употријебите МсгБок функцију да бисте могли искочити поруку попут ове „Заокружена вриједност је:“

Шифра:

 Суб Роунд_Ек1 () МсгБок "Заокружена вредност је:" Крај Суб 

Корак 4: Сада додајте „& Роунд (10.9834, 2)“ испред МсгБок наредбе, тако да ће заокружена вредност бити приказана у пољу за поруке заједно.

Шифра:

 Суб Роунд_Ек1 () МсгБок "Заокружена вредност је:" и рунда (10.9834, 2) Крај Суб 

Корак 5: Притисните Ф5 или дугме Покрени на горњој плочи да бисте покренули овај код. Видјет ћете излаз као што је приказано у наставку.

Пример # 2 - Заокружите променљиву користећи ВБА рунду

Корак 1: Дефинишите нови подпроцедура у ВБЕ за складиштење макроа.

Шифра:

 Суб Роунд_Ек2 () Крај Суб 

Корак 2: Дефинишите променљиву која се назива роундНумбер као Доубле која може да задржи вредност броја који треба заокружити.

Шифра:

 Суб Роунд_Ек2 () Дим роундНумбер Ас Доубле Енд Суб 

Корак 3: Доделите бројчану вредност која треба заокружити на ову променљиву помоћу оператора додјеле.

Шифра:

 Суб Роунд_Ек2 () Дим РоундНумбер Ас Доубле роундНумбер = 23.98 Крај Суб 

Корак 4: Користите комбинацију МсгБок-а заједно са функцијом Роунд да бисте заокружили овај број до једне децималне тачке.

Шифра:

 Суб Роунд_Ек2 () Дим роундНумбер Ас Доубле роундНумбер = 23, 98 МсгБок "Заокружен број је:" & Роунд (роундНумбер, 1) Енд Суб 

Корак 5: Притиснимо Ф5 или дугме Рун да покренемо овај код и видимо излаз.

Можете видети излаз као што је приказано на слици изнад. Имајте на уму да је, логиком „заокруживање у парно“, последња децимална копија заокружена на 10, а наредна децимална десетка сама постаје 10, због чега се број заокружује на најближи парни део целог броја (тј. 24).

Пример # 3 - Заокруживање вредности ћелије користећи ВБА рунду

Претпоставимо да је вредност коју сте желели заокружити похрањена у једној ћелији вашег екцел радног листа.

Све што желите је заокружити ову вредност до две децималне тачке.

Корак 1: Дефинишите нови под-поступак у модулу за чување макроа.

Шифра:

 Суб Роунд_Ек3 () Крај Суб 

Корак 2: Написати команду као „опсег („ А2 “). Вредност =“. Ова команда ради као локација на којој ће излаз бити смештен.

Шифра:

 Подручје опсега_Ек3 () Распон („А2“) Вредност = Крај суб 

Корак 3: Сада користите округлу функцију да заокружите вредност која је присутна у ћелији А1 и спремите резултат у ћелију А2. Напишите следећи део кода: Округли (домет („А1“). Вредност, 2).

Шифра:

 Под круг_Ек3 () Распон („А2“) Вредност = Круг (распон („А1“). Вредност, 2) Крај Суб 

Корак 4: Притисните типку Ф5 или Рун да бисте покренули овај код и погледали излаз у ћелији А2 на вашем радном листу.

Пример # 4 - Заокружите број користећи ВБА РоундУп функцију

Претпоставимо да желите да заокружите број користећи ВБА. То можете учинити помоћу ВорксхеетФунцтион.РоундУп функције.

1. корак: Дефинишите нову подпроцеду у Висуал Басиц Едитор-у који може да похрани ваш макро.

Шифра:

 Суб Роунд_Ек4 () Крај Суб 

Корак 2: Дефинишите две променљиве, једна за задржавање броја који сте желели да заокружите. А други за чување резултата заокруживања.

Шифра:

 Суб Роунд_Ек4 () Дим нумТоРоунд као Доубле Дим нумРоундУп Као Доубле Енд Суб 

Корак 3: Спремите вредност у променљиву нумТоРоунд коју желите да заокружите.

Шифра:

 Суб Роунд_Ек4 () Дим нумТоРоунд као Доубле Дим нумРоундУп Ас Доубле нумТоРоунд = 12.7543712 Крај Суб 

Корак 4: Употријебите РоундУп да заокружите овај број и похраните резултат у нумРоундУп варијаблу.

Шифра:

 Суб Роунд_Ек4 () Дим нумТоРоунд као двоструки дим нумРоундУп као двоструки нумТоРоунд = 12.7543712 нумРоундУп = Апплицатион.ВорксхеетФунцтион.РоундУп (нумТоРоунд, 4) Енд Суб 

Корак 5: Користите МсгБок за приказ резултата испод оквира за поруке.

Шифра:

 Суб Роунд_Ек4 () Дим нумТоРоунд као двоструки дим нумРоундУп као двоструки нумТоРоунд = 12, 7543712 нумРоундУп = Апплицатион.ВорксхеетФунцтион.РоундУп (нумТоРоунд, 4) МсгБок "Број заокружен је:" & нумРоундУп Крај Под 

Корак 6: Притисните типку Ф5 или Рун да бисте покренули овај код и погледали излаз.

Пример бр. 5 - Заокруживање броја помоћу ВБА функције РоундДовн

Корак 1: У новом потпроцедури, дефинишите две нове променљиве са именима нумТоРоундДовн и роундДовнНум. Један да задржи вредност броја који се заокружује на доле, а други да сачува излаз након заокруживања броја.

Шифра:

 Суб Роунд_Ек5 () Дим нумТоРоундДовн Ас Доубле Дим роундДовнНум Ас Доубле Енд Суб 

Корак 2: Доделите вредност коју желите да заокружите на променљиву под називом „нумТоРоундДовн“.

Шифра:

 Суб Роунд_Ек5 () Дим нумТоРоундДовн као двоструки дим роундДовнНум ас Доубле нумТоРоундДовн = 7.075711 Крај Суб 

Корак 3: Сада користите РоундДовн да бисте заокружили овај број и спремили резултат у роундДовнНум променљиву.

Шифра:

 Под Роунд_Ек5 () Дим нумТоРоундДовн као двоструки дим РоундДовнНум као двоструки нумТоРоундДовн = 7.075711 роундДовнНум = Апплицатион.ВорксхеетФунцтион.РоундДовн (нумТоРоундДовн, 4) Крај Суб 

Корак 4: Употријебите МсгБок функцију за приказ вриједности заокруженог броја.

Шифра:

 Суб Роунд_Ек5 () Дим нумТоРоундДовн као двоструки дим РоундДовнНум као двоструки нумТоРоундДовн = 7.075711 роундДовнНум = Апплицатион.ВорксхеетФунцтион.РоундДовн (нумТоРоундДовн, 4) МсгБок "Број заокружен доле је:" & роундДовнН 

Корак 5: Притисните Ф5 или Рун дугме да бисте покренули овај код и видели излаз као оквир за поруке.

То је то у чланку. Концепти ВБА Роунд, Роунд Уп и Роунд Довн ухватили смо са прегршт примера.

Ствари које треба запамтити

  • Ова функција користи Банкер-ову методу заокруживања за заокруживање бројева који су нешто другачији од стварног поступка заокруживања.
  • Ова функција се користи за заокруживање броја са плутајућом тачком или броја са фиксним децималама до одређеног броја места.
  • То значи да ће функција заокружити или повећати број у зависности од броја након децималних тачака.
  • Аргумент децимална_пласта мора бити већа од или једнака нули.
  • Ако децимална места остану празна, сматрат ће се да је нула и број ће се тада заокружити на најближи цијели број.
  • Ако је децимална места постављена на мање од нуле, тада долази до грешке времена извођења 5. „Грешка у току рада„ 5 “: Неважећи позив процедуре или аргумент„.
  • Није заиста предвидљиво на шта ће ова функција заокружити вредност када цифра након децималног броја буде 5.
  • Ако је један или оба аргумената функције Роунд нумерички, функција ће вратити грешку у времену извођења 13. „Грешка у току рада„ 13 “: Унесите неусклађеност“.

Препоручени чланци

Ово је водич за округле функције ВБА. Овде смо расправљали о томе како користити Екцел ВБА Роунд Фунцтион заједно са практичним примерима и довнлоад-ом Екцел предлошка. Можете и да прођете кроз друге наше предложене чланке -

  1. Комплетан водич за грешку ВБА о грешци
  2. Како се користи ВБА формат броја?
  3. ВБА ВЛООКУП функција са примерима
  4. Стварање ВБА функције у Екцелу

Категорија: