Cómo Usar la Función IsNumeric de VBA (9 Ejemplos)

  • Compartir Este
Hugh West

Si está buscando algunas de las formas más sencillas de utilizar el VBA IsNumeric Por lo general, esta función se utiliza en los siguientes ámbitos VBA para comprobar si una expresión es un número o no y dependiendo de la expresión devolverá TRUE si la expresión es un número en caso contrario FALSO .

Descargar el cuaderno de ejercicios

VBA Función IsNumeric.xlsm

Función IsNumeric de VBA: Sintaxis & Argumentos

⦿ Sintaxis

IsNumeric (Expresión)

⦿ Argumentos

Argumento Obligatorio/Opcional Explicación
Expresión Requerido Es una variante que hay que comprobar si es un número o no.

⦿ Valor de retorno

Entrada Valor de retorno
Número TRUE
No es un número; Cadena FALSO

⦿ Versión

En Función ISNUMERIC se introdujo en el Excel 2000 y está disponible para todas las versiones posteriores.

9 Ejemplos de Uso de la Función IsNumeric de VBA

En este artículo, trataremos de demostrar los usos del VBA IsNumeric con algunos ejemplos aleatorios junto con algunos ejemplos que incluyen la siguiente tabla.

Hemos utilizado Microsoft Excel 365 aquí, puede utilizar cualquier otra versión según su conveniencia.

1. Comprobación de VBA IsNumeric con algunos valores aleatorios

Aquí probaremos algunas cadenas aleatorias con la función VBA ISNUMÉRICO si los valores son numéricos o no.

Paso-01 :

➤ Ir a Desarrollador Pestaña Visual Basic Opción.

Entonces, el Editor de Visual Basic se abrirá.

➤ Ir a Inserte Pestaña Módulo Opción.

Después de eso, un Módulo se creará.

Paso-02 :

➤ Escribe el siguiente código

 Sub checkvalue1() Dim x As Variant x = InputBox("Give any Value") MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará el valor de entrada. A continuación ISNUMÉRICO devolverá TRUE si el valor de entrada es numérico, en caso contrario devolverá FALSO Encontraremos la salida dentro de un cuadro de mensaje ( MsgBox ).

➤ Prensa F5 .

Entonces obtendrá el siguiente cuadro de entrada y si escribe el valor 100 y pulse OK ,

aparecerá un mensaje que dice "Verdadero" .

Para escribir la cadena Gato y pulsando OK en el cuadro de entrada,

Aparece un cuadro de mensaje que dice "Falso" .

Read More: Cómo utilizar VBA aleatorizar función en Excel (5 Ejemplos)

2. Uso de VBA IsNumeric con la sentencia IF-THEN-ELSE

En esta sección, utilizaremos el Función ISNUMERIC con el IF-THEN-ELSE en una VBA para definir los valores numéricos y no numéricos.

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue2() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox "The Given Value is numeric" Else MsgBox "The Given Value is not numeric" End If End Sub 

Aquí, hemos declarado x como Variante y almacenará el valor de entrada. Cuando ISNUMÉRICO devolverá TRUE , SI devolverá un mensaje que dice "El valor dado es numérico" y si ISNUMÉRICO devuelve FALSO entonces SI devuelve un mensaje que explica "El valor dado no es numérico" .

➤ Prensa F5 .

Entonces obtendrá el siguiente cuadro de entrada y si escribe el valor 200 y pulse OK ,

aparecerá un mensaje que dice "El valor dado es numérico" .

Para escribir la cadena Gato y pulsando OK en el cuadro de entrada,

Aparece un cuadro de mensaje que dice "El valor dado no es numérico" .

Más información: Declaración VBA If - Then - Else en Excel (4 Ejemplos)

3. Creación de un resultado opuesto con la función IsNumeric

Aquí crearemos un VBA código que nos dará el resultado inverso del Función ISNUMERIC lo que significa que para valores numéricos obtendremos FALSO y, para los valores no numéricos, devolverá TRUE .

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue3() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Aquí, hemos declarado x como Variante y almacenará el valor de entrada. Cuando ISNUMÉRICO devolverá TRUE , SI devolverá un mensaje que dice "FALSO" y si ISNUMÉRICO devuelve FALSO entonces SI devuelve un mensaje que explica "VERDADERO" .

➤ Prensa F5 .

Entonces obtendrá el siguiente cuadro de entrada y si escribe el valor 25 y pulse OK ,

aparecerá un mensaje que dice "FALSO" .

Para escribir la cadena Alaska y pulsando OK en el cuadro de entrada,

Aparece un cuadro de mensaje que dice "VERDADERO" .

Contenido relacionado: Función VBA Formato en Excel (8 Usos con Ejemplos)

4. Comprobar si los espacios en blanco son numéricos o no

Puede comprobarlo fácilmente con un VBA codifica si los espacios en blanco son numéricos o no.

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue4() Dim x As Variant x = " " MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará el En blanco . Entonces ISNUMÉRICO devolverá TRUE si el En blanco es numérico en caso contrario devolverá FALSO .

➤ Prensa F5 .

A continuación, aparecerá un mensaje diciendo "Falso" lo que significa los espacios en blanco no son numéricos .

Más información: Fórmula Excel para generar números aleatorios (5 ejemplos)

5. Comprobar si las fechas son numéricas o no

En esta sección, utilizaremos una fecha aleatoria y comprobaremos si la fecha es numérica o no.

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará una fecha. Entonces ISNUMÉRICO devolverá TRUE si la fecha es numérica, en caso contrario devolverá FALSO .

➤ Prensa F5 .

A continuación, aparecerá un mensaje diciendo "Falso" lo que significa las fechas no son numéricas .

También podemos probar con el Función DATESERIAL para crear fechas y comprobar si es numérico o no.

➤ Escriba el siguiente código

 Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2) MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará una fecha creada por el Función DATESERIAL . Entonces ISNUMÉRICO devolverá TRUE si la fecha es numérica, en caso contrario devolverá FALSO .

➤ Prensa F5 .

A cambio, aparecerá un cuadro de mensaje que dice "Falso" también esta vez.

Más información: Función Fecha de VBA (12 Usos de Macros con Ejemplos)

Lecturas similares:

  • Cómo utilizar la función MsgBox en Excel VBA (Una guía completa)
  • Utilice la función Environ de VBA (4 ejemplos)
  • Cómo utilizar VBA y función en Excel (4 ejemplos)
  • Usar VBA Case Statement (13 Ejemplos)
  • Cómo utilizar la función Log en Excel VBA (5 ejemplos adecuados)

6. Comprobar si la hora es numérica o no

En esta sección, comprobaremos si los tiempos son numéricos o no utilizando la función Función ISNUMERIC .

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará una hora. Entonces ISNUMÉRICO devolverá TRUE si la hora es numérica en caso contrario devolverá FALSO .

➤ Prensa F5 .

A continuación, aparecerá un mensaje diciendo "Falso" lo que significa los tiempos no son numéricos .

También puede probar con el Función TIMESERIAL para crear fechas y comprobar si es numérico o no.

➤ Escriba el siguiente código

 Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará una hora creada por el Función TIMESERIAL . Entonces ISNUMÉRICO devolverá TRUE si la hora es numérica en caso contrario devolverá FALSO .

➤ Prensa F5 .

A continuación, aparecerá un mensaje "Falso" también esta vez.

De nuevo, podemos probar a hacer referencia a un valor de tiempo en una celda de una hoja.

➤ Escriba el siguiente código

 Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub 

Aquí, hemos declarado x como Variante y almacenará una hora que está en el B2 célula. Entonces ISNUMÉRICO devolverá TRUE si la hora es numérica en caso contrario devolverá FALSO .

➤ Prensa F5 .

Por último, aparecerá un cuadro de mensaje que dice "Verdadero" esta vez.

Más información: Cómo Usar VBA TimeSerial en Excel (3 Ejemplos)

7. Uso de VBA IsNumeric para un rango de valores

En este caso, comprobaremos si los valores de los parámetros Marcas/Grados son numéricas o no numéricas y tienen los resultados en la columna Consulte columna.

Pasos :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe el siguiente código

 Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub 

Hemos declarado la celda como Range y hemos utilizado un PARA bucle para las celdas del rango "D5:D11" y para estas células, el ISNUMÉRICO devolverá TRUE si el valor es numérico, en caso contrario devolverá FALSO y cell.Offset(0, 1) devolverá los valores de salida en una columna posterior a la columna de entrada.

➤ Prensa F5 .

Después de eso, tendremos TRUE para los valores numéricos o Marcas y FALSO para valores no numéricos o Grados .

Más información: Cómo utilizar la función VBA Val en Excel (7 ejemplos)

8. Creación de una función para comprobar un intervalo de valores

En esta sección, crearemos una función con el atributo VBA ISNUMERIC y comprueba si los valores de Marcas/Grados son numéricos o no numéricos.

Paso-01 :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe y guarda el siguiente código

 Function IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function 

Este código creará una función llamada IsNumericTest .

Paso-02 :

➤ Vuelve a la hoja principal y escribe la siguiente fórmula en la celda E5

=IsNumericTest(D5)

D5 es el Marcas/Grados de un estudiante y IsNumericTest devolverá VERDADERO/FALSO en función del valor.

➤ Prensa INTRODUCE y arrastre hacia abajo el Asa de llenado herramienta.

Por último, tendremos TRUE para los valores numéricos o Marcas y FALSO para valores no numéricos o Grados .

Contenido relacionado: Cómo utilizar la función DIR de VBA en Excel (7 ejemplos)

9. Conteo de Valores No Numéricos con la Función IsNumeric de VBA

Queremos contar los valores no numéricos o grados del Marcas/Grados y para ello utilizaremos la columna VBA ISNUMERIC y tener el número total de los valores no numéricos que tenemos en el Cuenta columna.

Paso-01 :

➤ Seguir Paso-01 de la Sección 1 .

➤ Escribe y guarda el siguiente código

 Function countnonnumeric(value As range) As Long Dim cell As range Dim count As Long For Each cell In value.Cells If Not IsNumeric(cell.value) Then count = count + 1 End If Next countnonnumeric = count End Function 

Este código creará una función llamada countnonnumeric .

Cuando el valor de la celda no sea un valor numérico, la función cuente se incrementará en 1 .

Paso-02 :

➤ Vuelve a la hoja principal y escribe la siguiente fórmula

=numérico(D5:D11)

D5:D11 es el alcance del Marcas/Grados de los estudiantes y countnonnumeric devolverá el número total de calificaciones no numéricas.

➤ Prensa INTRODUCE

Por último, obtendrá el valor 3 lo que significa que tiene 3 Grados en el Marcas/Grados columna.

Más información: Cómo Devolver un Valor en Función VBA (Valores de Matriz y No Matriz)

IsNumeric vs ISNUMBER

  • ISNUMÉRICO comprueba si un valor puede convertirse en un número y NÚMERO comprueba si un valor se almacena como un número.
  • Existen algunas diferencias entre el Función ISNUMERIC de VBA y el Excel Función ISNUMBER y hemos tratado de mostrar las diferencias a continuación utilizando nuestro previamente creado Función IsNumericTest y el Excel incorporado Función ISNUMBER .

Sección práctica

Para hacer prácticas por su cuenta hemos proporcionado un Práctica en una hoja denominada Práctica Por favor, hazlo tú mismo.

Conclusión

En este artículo, hemos intentado cubrir algunas de las formas de utilizar el VBA ISNUMERIC Si tienes alguna sugerencia o pregunta, no dudes en compartirla en la sección de comentarios.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.