ВБА функције Роунд, РоундУп и РоундДовн

ВБА Роунд

ВБА округла функција заокружује бројеве на одређени број цифара.

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

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

Роунд (Екпрессион, [Децимал_плацес]) где:

  • Израз - број који треба заокружити.
  • Децимална места (Опционо) - Цео број који одређује број децималних места за заокруживање. Вредност мора бити већа или једнака 0 (> = 0). Ако је празно, користи се подразумевана вредност 0, што значи да се функција заокружује на најближи цео број.

Погледајмо пример како бисте видели како функционише функција ВБА Роунд, заокружујући на 1 децимално место:

12345 Поткруг1 ()Мсгбок Роунд (7.25, 1)Енд Суб

Резултирајући МессагеБок:

ВБА заокружи променљиву

У горњем примеру смо заокружили број који смо заокружили директно у функцију; обично бисте уместо тога заокружили променљиву. Следи пример који користи променљиву уместо:

Напомена: Користимо тип Доубле варијабле за складиштење децималних вредности.

123456789 Суб РоундУсингВариабле ()Затамните јединични број као двострукојединични број = 7,25МсгБок "Тхе валуе ис" & Роунд (унитцоунт, 1)Енд Суб

Резултат је:

ВБА резултати заокруживања

Стварни број Број децималних места Резултат
7.25 0 7
7.25 1 7.2
7.25 2 7.25
-7.25 1 -7.2
-7.25 2 -7.25

Уморни сте од тражења примера ВБА кода? Испробајте АутоМацро!

ВБА вредност округле ћелије

Такође можете заокружити вредност ћелије директно у ВБА:

123 Суб РоундЦелл ()Опсег ("А1"). Вредност = округла (Опсег ("А1"). Вредност, 2)Енд Суб

ВБА РоундУп функција

Рецимо да желите да заокружите број помоћу ВБА. Не постоји уграђена ВБА РоундУп еквивалентна функција, уместо тога можете да позовете функцију Екцел РоундУп Ворксхеет из свог ВБА кода:

1 роундупУнитцоунт = Апплицатион.ВорксхеетФунцтион.РоундУп (унитцоунт, 3)

Екцел -ове функције радног листа доступне су за употребу у ВБА -и, коришћењем ВорксхеетФунцтион објекат. Једине функције радног листа које не можете позвати су оне које већ имају уграђен еквивалент ВБА.

Подсетник на синтаксу функције РоундУп Екцел радног листа:

РОУНДУП (број, цифре) где:

  • Број - број који желите заокружити.
  • Цифре - број цифара које желите заокружити.

Дакле, погледајмо пример, тако да можете видети како приступити функцији РоундУп Ворксхеет у вашем ВБА коду:

12345678910111213 Подгрупа ()Затамните јединични број као двострукоДим роундупУнитцоунт Ас Доублејединични број = 7.075711роундупУнитцоунт = Апплицатион.ВорксхеетФунцтион.РоундУп (унитцоунт, 4)МсгБок "Вредност је" & роундупУнитцоунтЕнд Суб

Резултат је:

Заокружите на најближи цео број

Можете заокружити на најближи цео број тако што ћете навести 0 као број децималних места:

12345 Суб РоундУпВхоле ()МсгБок Апплицатион.ВорксхеетФунцтион.РоундУп (7.1, 0)Енд Суб

Испоручени резултат:

ВБА програмирање | Генератор кода ради за вас!

Резултати функције РоундУп

Стварни број Цифре Резултат
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

ВБА РоундДовн функција

Рецимо да желите да заокружите број надоле, користећи ВБА. Не постоји ни уграђена ВБА РоундДовн еквивалентна функција, већ опет, оно што бисте урадили је да позовете функцију Екцел РоундДовн Ворксхеет из вашег ВБА кода.

Подсећање на синтаксу функције РоундДовн Екцел радног листа:

РОУНДДОВН (број, цифре) где:

• Број - број који желите да заокружите.
• Цифре - Број цифара које желите заокружити.

Дакле, погледајмо пример, тако да можете видети како приступити функцији РоундДовн Ворксхеет у вашем ВБА коду:

12345678910111213 Суб РоундДовн ()Затамните јединицу као двострукоЗатамни заокруживањеУнитцоунт као двострукојединични број = 5.225193роунддовнУнитцоунт = Апплицатион.ВорксхеетФунцтион.РоундДовн (унитцоунт, 4)МсгБок "Вредност је" & роунддовнУнитцоунтЕнд Суб

Резултат је:

Округло надоле до најближег целог броја

Можете заокружити на најближи цео број тако што ћете навести 0 као број децималних места:

12345 Суб РоундДовнВхоле ()МсгБок Апплицатион.ВорксхеетФунцтион.РоундДовн (7.8, 0)Енд Суб

Резултат је:

Резултати функције РоундДовн

Стварни број Цифре Резултат
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

ВБА програмирање | Генератор кода ради за вас!

Друге ВБА функције заокруживања

ВБА плафон - заокружите до одређеног значаја

ВБА нема еквивалент Цеилинг.Матх функције, па ако желите да заокружите број до најближег целог броја или до најближег наведеног мултипликатора значаја, тада можете позвати Екцел -ову функцију радног табеле Цеилинг.Матх из вашег ВБА кода.

Подсетник на синтаксу плафона Екцел радног листа. Математичка функција:

ЦЕИЛИНГ.МАТХ (Број, [Значај], [Режим]) где:

  • Број - Број који желите да заокружите.
  • Значај (Опционо) - Вишекратник на који желите да се ваш број заокружи.
  • Моде (Опционо) - Контролише да ли се негативни бројеви заокружују према нули или даље од ње.

Дакле, погледајмо пример, тако да можете видети како приступити функцији Цеилинг.Матх Ворксхеет у вашем ВБА коду:

12345678910111213 Суб РоундУпТоСигнинтаге ()Затамните јединични број као двострукоЗатамните плафонУнитцоунт Ас Доублејединични број = 4.1221упперматхУнитцоунт = Апплицатион.ВорксхеетФунцтион.Цеилинг_Матх (унитцоунт, 5)МсгБок "Вредност је" & упперматхУнитцоунтЕнд Суб

Резултат је:

ВБА преглед до резултата са одређеним значајем

Стварни број Значај Моде Резултат
4.1221 5
4.1221 3 6
4.1221 50 50
-4.1221 3 -3
-4.1221 3 -1 -6

ВБА спрат - заокружите до одређеног значаја

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

Подсетник на синтаксу пода Екцел радног листа. Математичка функција:

ФЛООР.МАТХ (Број, [Значај], [Режим]) где:
• Број - Број који желите да заокружите.
• Значај (Опционо) - Вишекратник на који желите да се ваш број заокружи.
• Режим (Опционо) - Контролише да ли се негативни бројеви заокружују према нули или даље од ње.

Погледајмо пример како бисте могли да видите како да приступите функцији Флоор.Матх Ворксхеет у свом ВБА коду:

1234567891011 Под РоундДовнТоСигнинтаге ()Затамните јединицу као двострукоДим флоорматхУнитцоунт Ас Доублејединични број = 4.55555559флоорматхУнитцоунт = Апплицатион.ВорксхеетФунцтион.Флоор_Матх (унитцоунт, 2)МсгБок "Вредност је" & флоорматхУнитцоунтЕнд Суб

Резултат је:

ВБА РоундДовн до специфицираног значаја

Стварни број Значај Моде Резултат
4.55555559 4
4.55555559 3 3
4.55555559 50 0
-4.55555559 3 -6
-4.55555559 3 -1 -3

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave