Función de raíz cuadrada de Excel VBA

En este artículo, veremos un resumen sobre Excel VBA Square Root. Cada vez que trabaje en Excel, debe haber utilizado la función SQRT que da la raíz cuadrada de cualquier número entero como resultado. ¿Es posible capturar la raíz cuadrada de un número bajo VBA? Bueno, la respuesta es segura ¡Sí! Puede obtener la raíz cuadrada de cualquier número positivo a través de VBA utilizando la función VBA SQR. Esta función es una función VBA incorporada y se puede usar en cualquier entero positivo para obtener la raíz cuadrada de la misma. Bueno, esta función es muy similar a la que usamos como una función de hoja de cálculo SQRT y también toma el mismo argumento "Número" que debería ser positivo. Tampoco podemos obtener las raíces cuadradas de los números imaginarios y no es útil ingresar valores negativos porque no hay forma posible de capturar un valor cuadrado negativo de un número.

Sintaxis:

La sintaxis para la función de raíz cuadrada de VBA es bastante simple y es similar a la de la función SQRT de hoja de cálculo.

Donde Número es un único argumento que debe proporcionarse y debe ser estrictamente positivo. Como no podemos tener valores cuadrados negativos de ningún número, es imposible tener un valor de raíz cuadrada negativo. Además, no hay margen para descubrir las raíces cuadradas de los números complejos. Este argumento se puede proporcionar directamente como un número o una variable asignada al número o una referencia de celda de hoja de cálculo donde se almacena el número. Además, el punto a tener en cuenta aquí es que, por defecto, el sistema considera el argumento que proporciona como un doble para darle la raíz cuadrada de cualquier número, independientemente del hecho de que sea un cuadrado entero o no (Ex. 87, no es el cuadrado completo, pero aún obtendrá el valor de la raíz cuadrada ya que el tipo de número es doble. Todavía puede definir un número como un entero y luego usarlo como argumento para la función SQR. Se redondeará al valor de raíz cuadrada más cercano si el número siempre que no sea una plaza entera.

¿Cómo utilizar la función de raíz cuadrada en Excel VBA?

A continuación se muestran los diferentes ejemplos para usar la función de raíz cuadrada en Excel VBA.

Puede descargar esta plantilla Excel de raíz cuadrada de VBA aquí - Plantilla Excel de raíz cuadrada de VBA

VBA Square Root - Ejemplo # 1

Siga los pasos a continuación para ver cómo funciona exactamente la función VBA SQR.

Paso 1: haga clic en la pestaña Desarrollador y luego haga clic en el icono de Visual Basic (ALT + F11).

Paso 2: Abra el Módulo desde la pestaña del menú Insertar como se muestra a continuación.

Paso 3: defina un nuevo subprocedimiento que pueda contener la macro debajo del módulo recién insertado.

Código:

 Sub sqrt_Example1 () End Sub 

Paso 4: Use el operador de asignación para asignar el valor de la función de raíz cuadrada de VBA a una variable llamada " raíz_rq " para que podamos imprimir el resultado y ver si funciona bien.

Código:

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

Paso 5: Use la función MsgBox para que podamos imprimir el resultado como un cuadro de mensaje que aparecerá tan pronto como ejecutemos el código.

Código:

 Sub sqrt_Example1 () sqr_root = Sqr (121) MsgBox "La raíz cuadrada del número dado es:" & sqr_root End Sub 

Paso 6: Ejecute este código presionando F5 o el botón Ejecutar ubicado en el panel superior.

Tan pronto como ejecute este código, debería ver una salida como se muestra a continuación.

Raíz cuadrada de VBA - Ejemplo # 2

Profundicemos en la función VBA SQR e intentemos descubrir algunos casos diferentes.

Paso 1: defina el subprocedimiento que puede contener sus macros.

Código:

 Sub sqrt_Example2 () End Sub 

Paso 2: Necesitamos definir dos nuevas variables como enteras. Uno para almacenar el valor para el que queremos una raíz cuadrada. Otra variable sería almacenar el resultado de la raíz cuadrada después de aplicar la función SQR.

Código:

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

Paso 3: Asigne el valor 87 a la variable square_num usando el operador de asignación ('='). Este es el número para el que queríamos capturar el valor de la raíz cuadrada.

Código:

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

Paso 4: Use la función SQR y el operador de asignación para asignar el valor de la raíz cuadrada a la variable raíz_cuadrada . Use square_num como argumento bajo la función SQR (el número para el que queríamos el valor de la raíz cuadrada).

Código:

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

Paso 5: use la propiedad MsgBox para mostrar el valor de la raíz cuadrada como un mensaje que aparece tan pronto como ejecuta el código.

Código:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root As Integer square_num = 87 square_root = Sqr (square_num) MsgBox "La raíz cuadrada del número dado es:" & square_root End Sub 

Paso 6: Ejecute este código presionando el botón F5 o Ejecutar que se coloca en la cinta superior de VBE.

Paso 7: vea el resultado en un cuadro de mensaje como se muestra a continuación:

Sin embargo, este no es el valor de raíz cuadrada real para el número 87. Este es el valor de raíz cuadrada para el número 81. ¿Por qué en el mundo VBA está dando resultados incorrectos para la función SQR?

Bueno, no hay nada malo con VBA. Si algo está mal, es ideal con nuestro código.

Como hemos definido las variables como enteros, estamos restringiendo el VBA para dar las raíces cuadradas de solo aquellos números que son números cuadrados enteros (Ex. 4, 9, 16, 25, etc.). Si algún número no es un cuadrado completo, la función VBA SQR en lugar de arrojar un error, da un valor de raíz cuadrada para un número que está cerca del número actual. Aquí, 87 tiene 81 como el número cuadrado entero más cercano. Por lo tanto, está obteniendo la salida como 9.

Paso 8: Veamos qué sucede cuando modificamos el código definiendo la variable square_root como Double en lugar de Integer.

Código:

 Sub sqrt_Example2 () Dim square_num As Integer Dim square_root As Double square_num = 87 square_root = Sqr (square_num) MsgBox "La raíz cuadrada del número dado es:" & square_root End Sub 

Paso 9: Verá que el sistema ahora puede capturar el valor real de la raíz cuadrada para el número 87.

Cosas para recordar

  • Si proporciona un número negativo como argumento bajo la función VBA SQR, arrojará un error de tiempo de ejecución '5' . Dado que no es posible tener un número con valores cuadrados negativos.
  • Si tiene un número negativo, asegúrese de convertirlo en una entidad positiva con la ayuda de la función ABS. También puede verificar si el número es positivo o no con la ayuda de la función SGN en VBA.
  • Si coloca cero como argumento bajo la función VBA SQR, obtendrá el valor de la raíz cuadrada como cero.

Artículos recomendados

Esta es una guía de VBA Square Root. Aquí discutimos cómo usar la función de raíz cuadrada en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Declaraciones VBA IF | Plantillas Excel
  2. ¿Cómo utilizar la función de clasificación de Excel VBA?
  3. VBA While Loop (Ejemplos con plantilla de Excel)
  4. ¿Qué es el contador VBA (ejemplos)?

Categoría: