The VBA Sqr function is a mathematical function that calculates the square root of a given number. It is a built-in function in VBA and can be utilized within any VBA module or procedure. The function takes in a single argument, evaluates it, and returns the square root value as a result.

## VBA Sqr Function – Purpose, Syntax and Arguments

### Purpose:

The main purpose of the Sqr function is to simplify the process of calculating the square root of a number in VBA. It eliminates the need for writing complex mathematical formulas and simplifies the code, making it easier to read and understand.

### Syntax:

Sqr(number)

### Arguments:

The Sqr function takes in one argument, which is the number for which you want to find the square root. The argument is a required input and must be a positive number. If the argument is not a numeric value or is a negative number, the function will result in a ‘Invalid procedure call or argument’ error.

**number:**This is the number for which you want to calculate the square root.

### Example:

Suppose we have a variable named “myNumber” with a value of 25 and we want to find its square root. We can use the Sqr function as follows:

Sub findSquareRoot() Dim myNumber As Integer myNumber = 25 Dim result As Double result = Sqr(myNumber) MsgBox "The square root of " & myNumber & " is " & result End Sub

This code will display a message box with the result: “The square root of 25 is 5”.

### Remarks and Important Notes:

- The Sqr function returns a floating-point or double-precision number, even if the argument is an integer. This is because square roots can sometimes result in decimal values.
- If the input argument is a decimal number, the returned result will also be a decimal value.
- If the argument passed to the function is a negative number, a ‘Invalid procedure call or argument’ error will be returned.
- The Sqr function can also be used in Excel VBA to calculate the square root of a cell value. For example, the formula “=Sqr(A1)” will return the square root of the value in cell A1.
- If you need to perform multiple calculations on the same number, it is more efficient to save the result of the Sqr function in a variable rather than calling the function multiple times.

## Understanding VBA Sqr Function with Examples

### Example 1: Simple Sqr Function

The **Sqr** function, also known as the square root function, is used in VBA to calculate the square root of a given number. It is a mathematical function that can be used to derive the square root of any numeric value. The syntax for the Sqr function is as follows:

Sqr(number)

**Number:**This is a required parameter that specifies the number for which the square root is to be calculated. It can be a numeric value, a numeric expression or a cell reference containing a numeric value.

To better understand the **Sqr** function, let us consider a simple example where we calculate the square root of a given number. Suppose we have a number **36** and we want to find its square root. We can use the Sqr function as shown below:

Sub SimpleSqrFunction() Dim num As Integer num = 36 MsgBox Sqr(num) End Sub

- The first line of code declares a variable
**num**of type**Integer**, which will hold the value of the number for which the square root needs to be calculated. - In the second line, we assign the value
**36**to the variable**num**. - The third line uses the
**MsgBox**function to display the result of the Sqr function, which in this case is**6**. The**MsgBox**function is used to display a message box with a specified message or value.

When we run this code, a message box will appear displaying the value of 6, which is the square root of 36. This is a simple example to demonstrate the basic usage of the **Sqr** function in VBA.

### Example 2: Sqr Function with Negative Numbers

The Sqr function is widely used to calculate the square root of positive numbers, but it can also be used to calculate the square root of negative numbers. When we calculate the square root of a negative number, we get an imaginary number as the result. VBA has the ability to handle and display imaginary numbers by using the *i* notation. Let us consider an example where we have a negative number and we want to find its square root.

Sub SqrWithImaginaryNumber() Dim num As Integer num = -25 MsgBox Sqr(num) End Sub

- The first three lines of code are similar to the previous example, where we declare the variable
**num**, assign the value**-25**to it, and use the**MsgBox**function to display the result. - In this example, the result displayed in the message box is
**5i**. This means that VBA has calculated the square root of -25 as 5 times the imaginary number*i*.

This may not seem very useful in the context of a simple example, but the ability to handle imaginary numbers is incredibly useful in more complex mathematical calculations. The Sqr function in VBA allows us to handle and manipulate both positive and negative numbers with ease.

### Example 3: Sqr Function with User Input

The Sqr function can also be used to calculate the square root of numbers entered by the user. This means that we can create a program that prompts the user to enter a number and then calculates its square root using the Sqr function. Let us look at an example:

Sub SqrWithUserInput() Dim input As Integer input = InputBox("Enter a number:") Msgbox "The square root of " & input & " is " & Sqr(input) End Sub

- In this example, we first declare a variable
**input**of type**Integer**, which will hold the value input by the user. - In the next line, we use the
**InputBox**function to display a dialog box where the user can enter a value. The text inside the parentheses is the message that will be displayed to the user, prompting them to enter a value. - The value entered by the user is then assigned to the variable
**input**. - Finally, we use the
**MsgBox**function to display the result of the calculation, which is the square root of the input value entered by the user.

This example shows how the Sqr function can be used in conjunction with other VBA functions to create more interactive and dynamic programs. It also highlights the importance of using proper variable declarations and data types when working with user input.

### Example 4: Using Sqr Function in Loops

One of the advantages of using VBA is its ability to automate repetitive tasks. This is often done using loops, which allow us to execute a set of code multiple times. The Sqr function can be used in loops to perform calculations on a range of numbers. Let us consider an example where we want to calculate the square root of numbers between 1 and 10 using a **For** loop:

Sub SqrInALoop() Dim num As Integer Dim count As Integer For count = 1 To 10 num = count MsgBox "The square root of " & num & " is " & Sqr(num) Next count End Sub

- In this example, we first declare two variables,
**num**and**count**, both of type**Integer**. - We then use a
**For**loop that will execute the code inside the loop 10 times, starting from 1 and ending at 10. - Inside the loop, we assign the value of the loop count to the variable
**num**and use the**MsgBox**function to display the calculated square root. - As the loop iterates, the value of
**num**changes, and the corresponding square root is displayed on the message box.

This example demonstrates how the Sqr function can be used in loops to perform calculations on a range of numbers, eliminating the need for repetitive code and making the program more efficient.

### Summary

The Sqr function is a versatile mathematical function in VBA that can be used to calculate the square root of any numeric value. It is a useful tool when working with calculations that involve square roots, and its ability to handle imaginary numbers adds to its versatility.

In this blog, we looked at four different examples of using the Sqr function in VBA, ranging from simple calculations to more complex scenarios. Understanding this function and its applications can greatly enhance your programming skills in VBA. Experiment with the examples and try using the Sqr function in different scenarios to fully grasp its capabilities.