Función ISNUMERIC
Por: Cervantes Mejía Jhan Pierre
Funcion IsNumeric_Jhan Pierre Cervantes
Definición y uso:
IsNumeric es una función utilizada en Visual Basic, la cual nos sirve para evaluar si una expresión es numérica o no. Asimismo, si la expresión es numérica la función retornará el valor True (Verdadero), de lo contrario devolverá el valor False (Falso). Cabe mencionar, que esta función toma como valor numérico, ya sea a números enteros como a decimales.
Ejemplo:
A continuación se presentarán los pasos para evaluar una expresión como numérica utilizando la función IsNumeric:
1º En primer lugar, se creará un Useform, el cual tendrá un solo textbox, el cual permitirá solo el acceso de valores numéricos. En caso, se ingresen letras u otros símbolos aparecerá una ventana indicando que dicho expresión no corresponde a un valor numérico. Asimismo, como se mostrará en la siguiente imagen, el Useform contiene un cuadro de texto, un botón de comando y una imagen de fondo.
2º Para que se puedan validar los valores numéricos se introducirá el siguiente código utilizando la función IsNumeric:
Private Sub CommandButton1_Click()
If IsNumeric(TextBox1.Text) Then
MsgBox (TextBox1.Text & ": Es un valor numérico")
Else
MsgBox (TextBox1.Text & " :No es un valor numérico")
End If
End Sub
Este código se introducirá en el evento vinculado al objeto CommandButton1. En este caso, el código If IsNumeric (TextBox1.Text) Then MsgBox (TextBox1.Text & ": Es un valor numérico") indica que si el valor introducido en el textbox1 (cuadro de texto) es un valor numérico se abrirá una ventana mostrando el numero seleccionado seguido de la siguiente expresión “: Es un valor numérico”. Del mismo modo, si los valores introducidos en el TextBox1 no conforman un valor numérico aparecerá una ventana confirmando dicha afirmación, como lo veremos a continuación:
12/07/2014 a las 6:49 pm
Una muy buena opción para que se valide una celda de tal modo que solo se puedan colocar números y no texto. También podría ser factible modificarla para que solo admita una cierta cantidad de números y asi pueda adecuarse a necesidades diferentes.
12/07/2014 a las 6:53 pm
Una muy buena opción para poder validar una celda y hace que solo admita número y evitar datos de texto. Una opción podría ser modificara para que también restrinja la cantidad de número que se ingresas para poder cubrir diversas necesidades.
12/07/2014 a las 7:54 pm
Una buena opción para poder validar la celda de modo que no acepte texto y solo números. Sería bueno modificarla para que también se restrinja la cantidad de números que se pueden introducir para que se pueda usar para diversas funciones como el ingreso del DNI.
26/10/2014 a las 1:20 am
Hola Juan
Claro que si se puede modificar la formula para que restrinja la cantidad de números que se pueden introducir como el ingreso del DNI.
Adjunto formula
dni = TextBox1.Text
If Len(Trim(dni)) = 8 And IsNumeric(dni) Then
ult = Cells(Rows.Count, 2).End(xlUp).Row
Cells(ult + 1, 2) = TextBox1.Text
TextBox1.Text = ""
Else
MsgBox "Ingrese un DNI válido"
End If
Espero que haya sido de tu ayuda el comentario
Saludos,
13/07/2014 a las 5:44 am
Con respecto a esta función... veo una utilidad enorme... ya que nosotros manejamos una gestión de notas bimestrales y a veces hay docencia que coloca las notas en forma textual o más aun me colocan notas acompañadas de un carácter que por casualidad han ingresado... y ahí esta función me advierte el mal ingreso de dichas notas... excelente función ayudándome a no cometer errores a la hora de preparar las boletas de información
26/07/2014 a las 12:48 am
Es una función que permite evaluar si un dato es numérico y da como resultado Verdadero si es correcto o Falso si no lo es. Esto permite controlar la información que se ingresa.
02/08/2014 a las 3:04 am
Esta Funcion IsNumeric devuelve un valor de tipo Boolean que indica si una expresión puede evaluarse como un número.
Dim testVar As Object
Dim numericCheck As Boolean
testVar = "53"
numericCheck = IsNumeric(testVar)
testVar = "459.95"
numericCheck = IsNumeric(testVar)
testVar = "45 Help"
numericCheck = IsNumeric(testVar)
12/09/2014 a las 8:08 pm
Aplique la fórmula en el useform correctamente pero no sé como colocar la imagen o como seleccionar alguna para personalizar.
Gracias
26/10/2014 a las 1:23 am
Hola Erika
Para insertar la imagen en el userform primero tienes que guardar la imagen que quieres en una carpeta de tu ordenador luego seleccionar el cuadro de la imagen dentro del useform y te diriges a sus propiedades, ahí hay una opción que dice: Picture –> Mapa de bits y le das click y automáticamente te van a aparecer unos puntos suspensivos (..), das click en ellos y te va a direccionar a tu carpeta, seleccionas en donde se encuentra la imagen guardada y listo
Espero que haya sido de tu ayuda el comentario
Saludos,
29/05/2015 a las 5:34 pm
Erika lo que tienes que hacer el seleccionar el formulario y tienes que seleccionar la opción "picture" , la cual previamente tienes que verificar se encuentre tu escritorio o disco que la hayas guardado, una vez que seleccionas la opción picture puedes elegir tu imagen.
12/09/2014 a las 8:09 pm
como lo puedo ejecutar directo de la hoja excel y no del visual basic
26/10/2014 a las 6:24 pm
Buenas, lo que se podría hacer es que ni bien abras tu archivo de excel, el aplicativo cargue directo sin entrar al visual basic. Lo que se debe hacer es cuando te encuentras en el visual basic hay una ventana de Proyecto, dentro de este una carpeta Microsoft Excel Objetos en la que aparece This WorkBook, allí ejecutas el siguiente código:
Private Sub Workbook_Open()
UserForm1.Show
End Sub
ojo: Escribes el userform que tu quieres que aparezca.
Luego cada vez que entres al archivo del excel, se cargara automáticamente ese userform.
Espero que te haya servido mi respuesta.
14/09/2014 a las 2:38 pm
Buen día,
Alguien sabe como incluyo una imagen de fondo como en este caso?, podrían indicar si hay alguna parte en el foro que explique como hacerlo. Gracias
21/09/2014 a las 8:24 pm
Hola Karel, teniendo seleccionado el formulario puedes cambiar el valor de la propiedad picture.
Saludos
https://www.excel-avanzado.com/3284/propiedades-del-userform.html
03/12/2014 a las 12:16 pm
Buen día. tengo esta cadena de texto: "20000 leguas de viaje submarino"
mi formulario tiene 1 Textbox y dos botones de comando(Autor y Titulo), en la H_Datos tendo en la colunma "A" el nombre de los Autores y en la "B" los Titulos de los libros, en la H_Criterios en "A2" y "B2" los criterios para un filtro avanzado, en la H_Resultados se muestran los datos filtrados. Si el criterio empieza con una letra no hay problema, pero si empieza con un número como el caso que les menciono, el filtro no funciona. Que hacer para que se muestren resultados cuando en el textbox se ingrese texto que empiece con un número.- Gracias
12/07/2015 a las 12:36 pm
Muy útil para asegurar sesgo de información ya asegurar que la información sea numérica. Suele pasar que a veces cuando digitamos números le colocamos coma en lugar del punto y se guarda la celda como si fuera un texto y a la hora de querer aplicar fórmulas simples como de suma o resta nos sale error. O también cuando copiamos una tabla de Word a Excel y los números se encuentran digitados con comas, nos genera error. De esta manera, se evitará perder el tiempo en buscar el porqué del error y conocer nuestro error de forma automática.
12/07/2015 a las 4:49 pm
Esta macro, nos ayudaría en ingeniería civil, pues en ingeniería estructural se requieres un montón de datos, como son cargas y fuerzas. Estas fuerzas tienen unidades;entonces, si se crearía una macro para ing. estructural ayudaría bastante el mencionar "ingrese valores numéricos".
03/03/2016 a las 1:22 am
El comando IsNumeric ¿Sólo sirve para textbox?, trato de aplicarlo en VBA, en los inputbox; empezamos a penas el curso en la uni, y aún no manejamos los textbox, solo usamos inputbox y msgbox.
09/12/2016 a las 12:38 pm
quisiera que combinara numeros y puntos
05/07/2017 a las 7:29 pm
Hola quien me puede ayudar, ¿Por que para la multiplicación funciona y la suma no?
Private Sub TxtCosto_Change()
If TxtCosto "" And IsNumeric(TxtCosto) Then
TxtGanancia = TxtCosto * 0.05
End If
If TxtCosto "" And IsNumeric(TxtCosto) Then
TxtIVA = TxtCosto * 0.19
End If
If TxtCosto "" And IsNumeric(TxtCosto) And _
TxtGanancia "" And IsNumeric(TxtGanancia) And _
TxtIVA "" And IsNumeric(TxtIVA) Then
TxtPrecioUnit = TxtCosto + TxtGanancia + TxtIVA
End If
12/07/2017 a las 12:10 pm
en tu ejemplo
TxtPrecioUnit = TxtCosto + TxtGanancia + TxtIVA
estas concatenando string no sumando, lo correcto seria utilizar la funcion val para que convertirlos a numero y poderlos sumar
TxtPrecioUnit = val(TxtCosto) + val(TxtGanancia) + val(TxtIVA)
espero poder ayudarte a tiempo
05/01/2018 a las 10:28 am
El algoritmo asume que el usuario se puede equivocar, existe una forma de no darle espacio de error, es decir, que ni siquiera se muestren en pantalla los valores no numéricos, cosa de no aceptar esos caracteres.
13/07/2018 a las 4:16 am
Hola quiero crear una macro que haga lo siguiente:
tengo en la columna A, muchas celdas con datos.
Ejemplo:
123456
234567
AASS22
QZXC11
S335566
777888
S99999
555555
666666
999999
hay más de 10.000 celdas,
necesito que busque en todas las celdas y que añada una S delante de los números en aquellas celdas que solo contengan los seis números.
Gracias
11/02/2022 a las 8:52 pm
Si quisiera que recorriera toda una fila de puros números y dónde encontrará un carácter o una letra se detenga y envié una alerta de en qué celda de esa fila está el error?