No permitir fecha en celda solo números enteros

Tengo una hoja de excel con una mascarilla para capturar datos y a través de una macro alimenta una base de datos, bien en la mascarilla hay un campo "NUMERO DE CHEQUE", pero en ocasiones y de manera involuntaria capturo una fecha "25/01/217", y se queda el formato de fecha, es decir aunque borre el dato que introduje al poner el numero correcto lo pone en formato de fecha, como evito que suceda esto.

1 respuesta

Respuesta
1

Estuve revisando algunas Listas de validación de celdas y sí permiten las fechas, lo que sucede es que la fecha realmente es un número, pero excel internamente lo formatea para presentarlo como fecha en la celda.

Te preparé una macro para que la pruebe.

Pon el siguiente código en los eventos de tu hoja, cambia "B2" por la celda donde capturas el número de cheque

Private Sub Worksheet_Change(ByVal Target As Range)
'Por. Dante Amor
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        If Target.Value = "" Then Exit Sub
        If Target.Count > 1 Then Exit Sub
        '
        If Not IsNumeric(Target.Value) Or InStr(Target.Value, ".") Or _
           InStr(Target.Value, ",") Then
            MsgBox "Debe introducir un número entero"
            Target.Value = ""
            Target.NumberFormat = "General"
            Target.Select
            Exit Sub
        End If
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Si te funciona, no olvides valorar la respuesta. Sal u dos

¡Gracias! ... Excelente tu apoyo, solo que al escribir el numero me marca "se ha producido el error "1004", en tiempo de ejecución, no se puede asignar la propiedad NumberFormat de la clase range"... pero le doy finalizar y se quita, ahora que si se corrigiera seria más cómodo, aprecio tu apoyo y ojala puedas resolverlo... gracias..

¿Qué versión de excel tienes?

Puedes activar la grabadora de macros, ve a una celda, cambia el formato de la celda a fecha, regresa a la celda y cambia el formato de la celda a "General", regresa para detener la grabadora de macros. Entra a VBA y copia el código que generó la grabadora de macros y lo pegas aquí para revisarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas