Excel VBA Square Root-funktion

I den här artikeln ser vi en översikt över Excel VBA Square Root. Varje gång du arbetar med Excel måste du ha använt SQRT-funktionen som ger kvadratroten av ett heltal som resultat. Är det möjligt att fånga kvadratroten till ett nummer under VBA? Tja, svaret är ett säkert Ja! Du kan få kvadratroten till vilket positivt tal som helst genom VBA med hjälp av VBA SQR-funktionen. Denna funktion är en inbyggd VBA-funktion och kan användas på vilket positivt heltal som helst för att få kvadratroten till den. Tja, den här funktionen är mycket lik den som vi använder som ett kalkylbladsfunktion SQRT och tar också samma enda argument "Number" som borde vara positivt. Vi kan inte heller få fyrkantiga rötter av imaginära siffror och att skriva in negativa värden är inte till någon nytta eftersom det inte finns något möjligt sätt på vilket ett negativt kvadratvärde för ett nummer kan fångas.

Syntax:

Syntax för VBA kvadratrotfunktion är ganska enkel och liknar den i kalkylbladets SQRT-funktion.

Där nummer är ett enda argument som måste anges och bör vara strikt positivt. Eftersom vi inte kan ha ett negativt kvadratvärde av något nummer, är chansen att få ett negativt kvadratrotvärde omöjligt. Inget utrymme för att ta reda på kvadratroten till de komplexa siffrorna. Detta argument kan tillhandahållas direkt som ett nummer eller en variabel som tilldelas numret eller en kalkylarkreferens där numret är lagrat. Punkten som ska noteras här är också att systemet som standard anser att argumentet du tillhandahåller är ett dubbelt för att ge dig kvadratroten på valfritt antal oberoende av det faktum att det är en hel kvadrat eller inte (Ex. 87, är inte hela kvadrat, men kommer fortfarande att få kvadratrotvärdet eftersom numretypen är dubbel. Du kan fortfarande definiera ett nummer som ett heltal och sedan använda det som ett argument till SQR-funktionen. Det kommer att rundas till det närmaste kvadratrotvärdet om numret förutsatt är inte ett helt torg.

Hur använder man fyrkantig rotfunktion i Excel VBA?

Nedan är de olika exemplen för att använda Square Root-funktionen i Excel VBA.

Du kan ladda ner denna VBA Square Root Excel-mall här - VBA Square Root Excel-mall

VBA Square Root - Exempel # 1

Följ stegen nedan för att se exakt hur VBA SQR-funktionen fungerar.

Steg 1: Klicka på fliken Utvecklare och klicka sedan på Visual Basic (ALT + F11) -ikonen.

Steg 2: Öppna modulen från infoga menyfliken som visas nedan.

Steg 3: Definiera en ny delprocedur som kan hålla makro under den nyligen infogade modulen.

Koda:

 Sub sqrt_Example1 () Slut Sub 

Steg 4: Använd tilldelningsoperatören för att tilldela värdet på VBA kvadratrotfunktionen till en variabel med namnet “ sqr_root ” så att vi kan skriva ut resultatet och se om det fungerar bra.

Koda:

 Sub sqrt_Example1 () sqr_root = Sqr (121) End Sub 

Steg 5: Använd MsgBox-funktionen så att vi kan skriva ut resultatet som en meddelanderuta som dyker upp så snart vi kör koden.

Koda:

 Sub sqrt_Example1 () sqr_root = Sqr (121) MsgBox "Square Root of given Number is:" & sqr_root End Sub 

Steg 6: Kör den här koden genom att trycka på F5 eller Run-knappen placerad på den översta panelen.

Så snart du kör denna kod bör du se en utgång som visas nedan.

VBA Square Root - Exempel # 2

Låt oss dyka djupare in i VBA SQR-funktionen och försöka ta reda på några olika fall.

Steg 1: Definiera delproceduren som kan hålla dina makron.

Koda:

 Sub sqrt_Example2 () End Sub 

Steg 2: Vi måste definiera två nya variabler som heltal. En för att lagra värdet som vi vill ha en kvadratrot för. En annan variabel är att lagra resultatet av kvadratroten efter att vi använt SQR-funktionen.

Koda:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root Som Integer End Sub 

Steg 3: Tilldela värdet 87 till variabeln square_num med hjälp av tilldelningsoperatören ('='). Detta är det nummer som vi ville fånga kvadratrotvärdet för.

Koda:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root Som Heiltal square_num = 87 End Sub 

Steg 4: Använd SQR-funktionen och tilldelningsoperatören för att tilldela värdet på kvadratroten till variabeln square_root . Använd square_num som ett argument under SQR-funktionen (det nummer som vi ville ha kvadratrotvärdet för).

Koda:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root Som Heiltal square_num = 87 square_root = Sqr (square_num) End Sub 

Steg 5: Använd egenskapen MsgBox för att visa värdet på kvadratroten som ett meddelande som dyker upp så snart du kör koden.

Koda:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root Som Heiltal square_num = 87 square_root = Sqr (square_num) MsgBox "Square Root for given Number is:" & square_root End Sub 

Steg 6: Kör den här koden genom att trycka på F5 eller Run-knappen som är placerad på det översta bandet på VBE.

Steg 7: Se utgången i en meddelanderuta som visas nedan:

Detta är emellertid inte det faktiska kvadratrotvärdet för nummer 87. Detta är kvadratrotvärdet för nummer 81. Varför i världen ger VBA fel output för SQR-funktion?

Det är inget fel med VBA. Om något är fel är det perfekt med vår kod.

Eftersom vi har definierat variablerna som heltal begränsar vi VBA för att endast ge kvadratrötter för de siffrorna som är hela kvadratiska siffror (Ex. 4, 9, 16, 25, etc.). Om något nummer inte är en hel kvadrat, funktionen VBA SQR istället för att kasta ett fel, ger det ett kvadratrotvärde för ett nummer som är nära det aktuella numret. Här har 87 81 som det närmaste hela kvadratnumret. Därför får du utgången som 9.

Steg 8: Låt oss se vad som händer när vi justerar koden genom att definiera square_root- variabeln som dubbel istället för heltal.

Koda:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root As Double square_num = 87 square_root = Sqr (square_num) MsgBox "Square Root for given Number is:" & square_root End Sub 

Steg 9: Du ser att systemet nu kan fånga det faktiska kvadratrotvärdet för numret 87.

Saker att komma ihåg

  • Om du anger ett negativt tal som ett argument under VBA SQR-funktionen kommer det att kasta ett körtidfel '5' . Eftersom det inte är möjligt att ha ett tal med negativa kvadratvärden.
  • Om du har ett negativt antal, se till att du konverterar det till en positiv enhet med hjälp av ABS-funktionen. Du kan också kontrollera om antalet är positivt eller inte med hjälp av SGN-funktionen under VBA.
  • Om du sätter noll som ett argument under VBA SQR-funktionen får du kvadratrotvärdet som noll.

Rekommenderade artiklar

Detta är en guide till VBA Square Root. Här diskuterar vi hur du använder Square Root Function i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA IF-uttalanden | Excel-mallar
  2. Hur använder jag Excel VBA sorteringsfunktion?
  3. VBA While Loop (exempel med Excel-mall)
  4. Vad är VBA Counter (exempel)?

Kategori: