¿Duda? ¿Colocar números soloamente se puede?

El tema de las horas donde me daba el error en modificar, solo quiero que se pueda ingresar Números no letras, tanto cuando se guardan los datos, como cuando se modifican.

1 Respuesta

Respuesta
1

Te puse unas validaciones antes de guardar en la hoja.

Esto va en el botón Guardar del form Index

'
Private Sub BTNGUARDAR_Click()
    Dim fila As Long
    Dim duplicados As Boolean
    'Obtener la fila disponible
    'fila = Application.WorksheetFunction.CountA(Range("A:A")) + 1
    fila = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    duplicados = False
    If Me.TXTUBICACION = "" Or Me.TXTEQUIPO = "" Or Me.TXTFECHA = "" Or Me.TXTINTERVENCION = "" Or Me.TXTTERMINO = "" Or Me.TXTDESCRIPCION = "" Then
        MsgBox "No dejar ningun campo vacio ", vbOK
        Exit Sub
    End If
    '
    If Not IsDate(Index.TXTINTERVENCION.Value) Then
        MsgBox "captura una hora válida"
        TXTINTERVENCION.SetFocus
        Exit Sub
    End If
    If Not IsDate(Index.TXTTERMINO.Value) Then
        MsgBox "captura una hora válida"
        TXTTERMINO.SetFocus
        Exit Sub
    End If
    'Insertar datos capturados
    h.Cells(fila, 3).Value = Index.TXTUBICACION.Value
    h.Cells(fila, 4).Value = Index.TXTEQUIPO.Value
    h.Cells(fila, 5).Value = CDate(Index.TXTFECHA.Value)
    h.Cells(fila, 6).Value = TimeValue(Index.TXTINTERVENCION.Value)    'hora
    h.Cells(fila, 7).Value = TimeValue(Index.TXTTERMINO.Value)         'hora
    h.Cells(fila, 8).Value = Index.TXTDESCRIPCION.Value
    h.Cells(fila, "A").Value = Index.ComboBox1.Value
    h.Cells(fila, "B").Value = Index.ComboBox2.Value
    'RANGE("A:H").Select
   ' With Selection.Borders(xlEdgeBottom)
        '.LineStyle = xlContinuous
        '.Weight = xlThin
       ' .ColorIndex = xlAutomatic
    'Limpiar TXT
    Index.TXTUBICACION.Value = ""
    Index.TXTEQUIPO.Value = ""
    Index.TXTINTERVENCION.Value = ""
    Index.TXTTERMINO.Value = ""
    Index.TXTDESCRIPCION.Value = ""
    Index.ComboBox1.Value = ""
    Index.ComboBox2.Value = ""
    MsgBox "Datos Correctamente Ingresados"
   ' End With
End Sub

sal u dos

Pero por ejemplo en la hora, en los TXTINTERVENCION Y TXTTERMINO, pero con los ":" por que es hora, ej : (13:50).

Entiendo tu preocupación, pero la mejor alternativa es validar que sea una hora válida, eso se logra con esto:

If Not IsDate(Index.TXTINTERVENCION.Value) Then

si ponen 88:77 también son números y también tienen dos puntos, pero no es una hora válida, por eso es más práctico validarlo cuando intentar guardar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas