VBA Square Root

Excel VBA Square Root (SQR) -funktion

I VBA har vi en inbyggd funktion som heter “SQR”, den här funktionen returnerar kvadratroten för det angivna numret i ingången. Square Root-funktionen kräver bara ett argument för sin funktion, dvs. Number.

SQRT är en kvadratrotfunktion i både excel och VBA, metoden för att använda den här funktionen är som följer till SQR i VBA.

Nedan är syntaksen för SQR-funktionen.

Antal: För detta argument måste vi ange det nummer som vi försöker hitta kvadratroten för. Numret kan vara en direkt tillförsel av nummer eller nummer tilldelat variabeln eller ett nummer med cellreferens är giltigt.

Denna funktion är tillgänglig med både kalkylbladfunktion och VBA-funktion men i ett kalkylblad är den tillgänglig som SQRT.

Exempel på Square Root i Excel VBA

Du kan ladda ner denna VBA SQRT-funktion Excel-mall här - VBA SQRT-funktion Excel-mall

Exempel nr 1

Nu ska vi försöka skriva kod för att hitta kvadratroten för siffran 64.

Starta först vba-subrutinen.

Koda:

 Sub Square_Root_Example () Avsluta Sub 

Definiera två variabler som heltal, en är att lagra numret och en annan är att visa resultatet av kvadratrotvärdet.

Koda:

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

För variabeln "ActualNumber" tilldela värdet på nummer 64.

Koda:

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

För en annan variabel tilldelar vi kvadratrotsvärdet, anger variabelnamnet, sätter lika sing och öppnar SQR-funktionen.

Det enda argumentet för SQR-funktionen är "Number" eftersom vi redan har tilldelat siffran 64 till variabeln "ActualNumber", låt oss ange samma variabelnamn i SQR-funktionen.

Nästa visas resultatet i meddelandefältet. Nu tilldelas kvadratrotnumret till variabeln "SquareNumber" visar samma variabelnamn i meddelandefältet.

Koda:

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

Ok, det är allt vi är klara med kodning.

Kör koden med excel genvägsknapp F5 och se vad vi får i meddelandefältet.

Kvadratrot av siffran 64 är 8 dvs 8 * 8 = 64

Exempel 2

En sak till som vi måste komma ihåg när vi beräknar sqrt i VBA är när den variabla datatypen antingen är hel eller lång blir resultatet avrundat till närmaste heltal eller heltal.

Till exempel, om du försöker hitta kvadratroten för siffran 70 finns det ingen kvadratrot för detta men i VBA visas det som 8 bara för att 8 är närmaste kvadratrots heltalsvärde.

Titta på koden nedan.

Koda:

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

Det verkliga kvadratrotsnummerresultatet för 70 är 8,3666 men med VBA kommer det att avrundas till närmaste heltal 8.

En sak vi kan göra för att åtgärda detta fel är att vi måste ändra datatypen för variabeln "SquareNumber" till "Double".

Koda:

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

Kör nu koden manuellt eller genom F5-tangenten och se resultatet.

Som ni ser är resultatet korrekt nu, dvs 8.366602, detta beror på datatypen vi har tilldelat variabeln "SquareNumber"

Saker att komma ihåg

  • I VBA för att hitta kvadratroten till nummerformeln är SQR och i kalkylbladet är det SQRT.
  • Siffran som vi levererar till SQR-funktionen ska vara ett positivt tal, annars får vi #NUM! fel.