Excel VBA vierkantswortelfunctie

In dit artikel zien we een overzicht van de Excel VBA-vierkantswortel. Elke keer dat u in Excel werkt, moet u de SQRT-functie hebben gebruikt die de vierkantswortel van een heel getal als resultaat geeft. Is het mogelijk om de vierkantswortel van een getal onder VBA te vangen? Welnu, het antwoord is zeker ja! U kunt de vierkantswortel van elk positief getal krijgen via VBA met behulp van de VBA SQR-functie. Deze functie is een ingebouwde VBA-functie en kan op elk positief geheel getal worden gebruikt om de vierkantswortel ervan te krijgen. Welnu, deze functie lijkt erg op degene die we gebruiken als een spreadsheetfunctie SQRT en nemen ook hetzelfde argument "Number", dat positief zou moeten zijn. We kunnen ook de vierkantswortels van denkbeeldige getallen niet vinden en het invoeren van negatieve waarden heeft geen zin omdat er geen mogelijke manier is waarmee een negatieve kwadraatwaarde van een getal kan worden vastgelegd.

Syntaxis:

Syntaxis voor VBA vierkantswortelfunctie is vrij eenvoudig en lijkt op die van de spreadsheet-SQRT-functie.

Waar Nummer een enig argument is dat moet worden verstrekt en strikt positief moet zijn. Omdat we geen negatieve kwadraten van een willekeurig getal kunnen hebben, is de kans op het krijgen van een negatieve vierkantswortelwaarde onmogelijk. Ook is er geen ruimte om de vierkantswortels van de complexe getallen te achterhalen. Dit argument kan rechtstreeks worden verstrekt als een nummer of een variabele die is toegewezen aan het nummer of een celreferentie waarin het nummer is opgeslagen. Het punt dat hier moet worden opgemerkt, is dat het systeem standaard het argument dat u opgeeft als een dubbele waarde beschouwt om u de vierkantswortel van een willekeurig getal te geven, ongeacht het feit of het een heel vierkant is of niet (bijv. 87 is niet de hele vierkant, maar krijgt nog steeds de vierkantswortelwaarde omdat het getaltype dubbel is. U kunt een getal nog steeds definiëren als een geheel getal en het vervolgens gebruiken als argument voor de SQR-functie. Het wordt afgerond op de dichtstbijzijnde vierkantswortelwaarde als het getal is niet een heel vierkant.

Hoe de vierkantswortelfunctie in Excel VBA te gebruiken?

Hieronder staan ​​de verschillende voorbeelden om de vierkantswortelfunctie in Excel VBA te gebruiken.

U kunt deze VBA-sjabloon voor vierkantswortel Excel hier downloaden - VBA-sjabloon voor vierkantswortel VBA

VBA-vierkantswortel - Voorbeeld # 1

Volg de onderstaande stappen om te zien hoe de VBA SQR-functie precies werkt.

Stap 1: Klik op het tabblad Ontwikkelaars en klik vervolgens op het pictogram Visual Basic (ALT + F11).

Stap 2: Open Module via het tabblad Invoegen, zoals hieronder getoond.

Stap 3: Definieer een nieuwe subprocedure die de macro kan bevatten onder de nieuw ingevoegde module.

Code:

 Sub sqrt_Example1 () End Sub 

Stap 4: Gebruik de toewijzingsoperator om de waarde van de vierkantswortelfunctie van VBA toe te wijzen aan een variabele met de naam " sqr_root " zodat we het resultaat kunnen afdrukken en kijken of het goed werkt.

Code:

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

Stap 5: Gebruik de MsgBox-functie zodat we het resultaat kunnen afdrukken als een berichtvenster dat verschijnt zodra we de code uitvoeren.

Code:

 Sub sqrt_Example1 () sqr_root = Sqr (121) MsgBox "Vierkantswortel van gegeven nummer is:" & sqr_root End Sub 

Stap 6: Voer deze code uit door op F5 te drukken of op de knop Uitvoeren die op het bovenste paneel is geplaatst.

Zodra u deze code uitvoert, zou u een uitvoer moeten zien zoals hieronder getoond.

VBA-vierkantswortel - Voorbeeld # 2

Laten we dieper ingaan op de VBA SQR-functie en proberen een aantal verschillende gevallen te ontdekken.

Stap 1: Definieer de subprocedure die uw macro's kan bevatten.

Code:

 Sub sqrt_Example2 () End Sub 

Stap 2: We moeten twee nieuwe variabelen als geheel getal definiëren. Een voor het opslaan van de waarde waarvoor we een vierkantswortel willen. Een andere variabele zou zijn voor het opslaan van het resultaat van de vierkantswortel nadat we de SQR-functie hebben toegepast.

Code:

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

Stap 3: Wijs waarde 87 toe aan de variabele square_num met behulp van de toewijzingsoperator ('='). Dit is het nummer waarvoor we de vierkantswortelwaarde wilden vastleggen.

Code:

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

Stap 4: Gebruik de SQR-functie en toewijzingsoperator om de waarde van de vierkantswortel toe te wijzen aan de variabele square_root . Gebruik square_num als argument onder de SQR-functie (het nummer waarvoor we de vierkantswortelwaarde wilden).

Code:

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

Stap 5: Gebruik MsgBox Property om de waarde van de vierkantswortel weer te geven als een bericht dat verschijnt zodra u de code uitvoert.

Code:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root As Integer square_num = 87 square_root = Sqr (square_num) MsgBox "Vierkantswortel voor gegeven nummer is:" & square_root End Sub 

Stap 6: Voer deze code uit door op de F5- of Run-knop te drukken die op het bovenste lint van VBE is geplaatst.

Stap 7: Zie de uitvoer in een berichtvenster zoals hieronder weergegeven:

Dit is echter niet de werkelijke vierkantswortelwaarde voor nummer 87. Dit is de vierkantswortelwaarde voor nummer 81. Waarom geeft VBA in de wereld verkeerde uitvoer voor de SQR-functie?

Nou, er is niets mis met VBA. Als er iets mis is, is het ideaal met onze code.

Omdat we de variabelen als gehele getallen hebben gedefinieerd, beperken we de VBA om de vierkantswortels te geven van alleen die getallen die hele vierkante getallen zijn (bijv. 4, 9, 16, 25, etc.). Als een getal geen geheel vierkant is, geeft de VBA SQR-functie in plaats van een fout te genereren, een vierkantswortelwaarde voor een getal dat dicht bij het huidige getal ligt. Hier heeft 87 81 als het dichtstbijzijnde gehele kwadraatgetal. Daarom krijgt u de uitvoer als 9.

Stap 8: Laten we eens kijken wat er gebeurt als we de code aanpassen door de variabele square_root te definiëren als Double in plaats van Integer.

Code:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root As Double square_num = 87 square_root = Sqr (square_num) MsgBox "Vierkantswortel voor gegeven nummer is:" & square_root End Sub 

Stap 9: U zult zien dat het systeem nu de werkelijke vierkantswortelwaarde voor het getal 87 kan vastleggen.

Dingen om te onthouden

  • Als u een negatief getal opgeeft als argument onder de VBA SQR-functie, geeft dit een runtime-fout '5' . Omdat het niet mogelijk is om een ​​getal met negatieve kwadraatwaarden te hebben.
  • Als u een negatief getal hebt, zorg er dan voor dat u dit omzet naar een positieve entiteit met behulp van de ABS-functie. U kunt ook controleren of het nummer positief is of niet met behulp van de SGN-functie onder VBA.
  • Als u nul als argument onder de functie VBA SQR plaatst, krijgt u de vierkantswortelwaarde als nul.

Aanbevolen artikelen

Dit is een handleiding voor VBA Square Root. Hier bespreken we hoe u de vierkantswortelfunctie in Excel VBA kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA IF-verklaringen | Excel-sjablonen
  2. Hoe de Excel VBA-sorteerfunctie te gebruiken?
  3. VBA While Loop (voorbeelden met Excel-sjabloon)
  4. Wat is VBA-teller (voorbeelden)?

Categorie: