Validar números, Macro Excel. Visual Basic

Estoy haciendo una macro de Excel que valide que se introduzcan sólo números en una celda (la A4, en el ejemplo), al clicar en el botón.
La codificación que tengo es la siguiente:
Private Sub CommandButton1_Click()
Sheets("Hoja1").Range("a4").Select
CODIGO = ActiveCell.Offset.Value
If Not IsNumeric(CODIGO) Then 'And codigo <> " " Then
MsgBox ("No es numerico")
Else
MsgBox ("Es numerico")
End If
End Sub
Al hacer click en el botón me pasa algo muy raro.
Si en la casilla introduzco 1g98, me dice "No es numérico",
Pero si introduzco 1d98, me "Es numérico"
¿Sabes qué puede estar pasando, para que me diga Es Numérico aúin habiendo una letra?, ¿Hay otra forma de hacerlo?

1 Respuesta

Respuesta
1
Es posible que el error se presente por que no se declara la variable CÓDIGO con ningún tipo, pero no estaría seguro de ello. Te sugiero que hagas este cambio para ahorrarte lo del botón, es utilizar el evento Change del Worksheet donde deseas hacer la validación (Hoja1). Le das clic derecho a la pestaña de la hoja e ingresas a Ver código y allí pegas lo siguiente:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Range = "$A$4" Then
         If Not IsNumeric(Target) Then
              MsgBox ("No es numerico")
         Else
              MsgBox ("Es numerico")
         End If
     End If
End Sub

Revisa si esto ayuda a eliminar el error y te puede ayudar a agilizar el proceso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas