VBA квадратна коренна функция - Как да изчислим SQRT с помощта на SQR във VBA?

Функция на Excel VBA Square Root (SQR)

Във VBA имаме вградена функция, наречена “SQR”, тази функция връща квадратния корен за даденото число, предоставено във входа. Функцията Square Root изисква само един аргумент за своята функция, т.е. Number.

SQRT е квадратна корен функция както в Excel, така и в VBA. Методът за използване на тази функция е както следва SQR (число) и се използва за изчисляване на квадратния корен на дадено число в Excel; номенклатурата обаче е различна и е написана като SQRT в сравнение със SQR във VBA.

По-долу е даден синтаксисът на функцията SQR.

Номер: За този аргумент трябва да предоставим числото, за което се опитваме да намерим квадратния корен. Номерът може да бъде директно предоставяне на номер или номер, присвоен на променливата, или число с референтен номер на клетка е валидно.

Тази функция е достъпна както с функциите на работния лист, така и с функцията VBA, но в работен лист е налична като SQRT.

Примери за квадратен корен в Excel VBA

Пример # 1

Сега ще се опитаме да напишем код, за да намерим квадратния корен за числото 64.

Първо стартирайте подпрограмата VBA.

Код:

Sub Square_Root_Example () Край Sub

Дефинирайте две променливи като Integer, едната е да съхранява числото, а другата да показва резултата от стойността на квадратния корен.

Код:

Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer End Sub

За променливата „ActualNumber“ задайте стойността на номер 64.

Код:

Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 End Sub

За друга променлива ще присвоим стойност на квадратния корен, ще въведем името на променливата, ще поставим равно sing и ще отворим функцията SQR.

Единственият аргумент на функцията SQR е „Number“, тъй като вече сме присвоили числото 64 на променливата „ActualNumber“, нека предоставим същото име на променлива във функцията SQR.

След това покажете резултата в полето за съобщение. Сега номерът на квадратния корен е присвоен на променливата "SquareNumber" показва същото име на променлива в полето за съобщение.

Код:

Sub Square_Root_Example () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 64 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub

Добре, това е всичко, което свършихме с кодирането.

Стартирайте кода, като използвате клавиш за бърз достъп на Excel F5 и вижте какво получаваме в полето за съобщение.

Квадратният корен на числото 64 е 8, т.е. 8 * 8 = 64

Пример # 2

Още нещо, което трябва да имаме предвид, докато изчисляваме sqrt във VBA, е когато променливият тип данни е или цяло число, или дълъг, резултатът се закръглява до най-близкото цяло число или стойност на цялото число.

Например, ако се опитвате да намерите квадратен корен за числото 70, няма квадратен корен за това, но във VBA той се показва като 8 само защото 8 е най-близката стойност на квадратния корен от цяло число.

Погледнете кода по-долу.

Код:

Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Integer ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub

Действителният резултат от квадратно коренно число за 70 е 8.3666, но с VBA той ще се закръгли до най-близката целочислена стойност 8.

Едно нещо, което можем да направим, за да поправим тази грешка, е да променим типа данни на променливата „SquareNumber“ на „Double“.

Код:

Sub Square_Root_Example1 () Dim ActualNumber As Integer Dim SquareNumber As Double ActualNumber = 70 SquareNumber = Sqr (ActualNumber) MsgBox SquareNumber End Sub

Сега стартирайте кода ръчно или чрез клавиша F5 и вижте резултата.

Както можете да видите, резултатът е точен сега, т.е. 8.366602. Това се дължи на типа данни, който сме присвоили на променливата „SquareNumber“.

Неща за запомняне

  • Във VBA за намиране на квадратния корен от формулата на числото е SQR, а в работния лист това е SQRT.
  • Числото, което доставяме на функцията SQR, трябва да е положително число, иначе ще получим #NUM! грешка.

Интересни статии...