Este tutorial le enseñará cómo usar el IsNumeric y Es número funciones en VBA para verificar si los valores son números.
IsNumeric es una función de VBA incorporada, mientras que IsNumber es una función de Excel que se puede llamar desde el código de VBA.
Diferencia entre IsNumber e IsNumeric en VBA
IsNumber comprueba si un valor se almacena como un número. Considerando que, IsNumeric comprueba si un valor se puede convertir en un número.
Por ejemplo, si pasa una celda en blanco como parámetro, IsNumber devolverá FALSE, mientras que IsNumeric devolverá TRUE. Además, si pasa una celda que contiene un número almacenado como texto, IsNumber devolverá FALSE y IsNumeric TRUE.
Debe prestar atención a estas limitaciones de ambas funciones y decidir en qué casos es mejor usar IsNumeric y cuándo IsNumber.
Usando IsNumeric en VBA
IsNumeric es la función VBA que comprueba si un valor es numérico y devuelve un valor booleano VERDADERO o FALSO como resultado.
La función puede tomar una variable o un valor de celda.
A continuación, se muestra un ejemplo de cómo tomar un valor de celda:
12345 | Si IsNumeric (Sheet1.Range ("A1"). Value) = True EntoncesMsgBox "El valor en A1 es numérico"DemásMsgBox "El valor en A1 no es numérico"Terminara si |
En este ejemplo, verificamos si el valor de la celda A1 es numérico usando IsNumeric. Esta función devuelve el mensaje apropiado, dependiendo del resultado de la función.
El siguiente ejemplo realiza la misma operación, excepto con una variable en lugar de un valor de celda:
123456789 | Dim n como varianten = Hoja1.Rango ("A1"). ValorSi IsNumeric (n) = True EntoncesMsgBox "El valor en A1 es numérico"DemásMsgBox "El valor en A1 no es numérico"Terminara si |
Usando IsNumber en VBA
Es número es una función de Excel, que se puede utilizar en VBA. Tiene una salida casi similar a IsNumeric. Veamos el ejemplo de la función IsNumber:
123456789 | Si Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True EntoncesMsgBox "El valor en A1 es numérico"DemásMsgBox "El valor en A1 no es numérico"Terminara si |
Como puede ver en el código, la diferencia está en la sintaxis al llamar a la función. Dado que IsNumber es la función de Excel, debemos poner Application.WorksheetFunction antes de la llamada a la función.