Buen dia encontre la solucion en una respuesta anterior solo que cuando lo compilo me aparece un error:
Declaración de procedimiento no coincide con la descripción del evento o procedimiento que tiene el mismo nombre. y selecciona el paso de TxtSD_KeyPress(KeyAscii As Integer)
A continuacion coloco el programa que estoy tratando que funcione:
Private Sub Duracion_KeyPress(Keyascii As Integer)
Keyascii = KeyControl(Keyascii, True)
End Sub
'Función pasar el foco y permitir solo numeros o
'letras en un TextBox o MaskEdBox
Public Function KeyControl(Keyascii As Integer, Optional SoloNum As Boolean = False)
If SoloNum = True Then 'Solo se permiten numeros
Select Case nKeyascii
Case 8 'Permite borrar con retroceso
Exit Function
Case 13 'Pasa el foco al Sig. control
nKeyascii = 0: SendKeys "{TAB}": Exit Function
Case 48 To 57, 45
'Permite los numeros del 0 al 9 y el Signo de menos (-)
Case Else 'No escribe nada y emite un BEEP
nKeyascii = 0: Beep
End Select
End If
End Function
En otro paso del programa me toco colocar en comillas el change para ver si eso era lo que estab afectando pero me di cuenta que no
'Private Sub Duracion_Click()
'Dim Texto As String
'Dim Tipo As String
' Me.Porcentaje.Enabled = True
'
' If Ref <> "" And Entregable <> "Sin Predecesora ¬(X)" Then
' If Me.Duracion <> "" Then
' Me.Porcentaje.Enabled = False
'
' Select Case Me.Entregable
'
' Case "Final-Comienzo ¬(FC)"
' If Me.Duracion = 0 Then
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FF:", vbTextCompare) + 3, 10)
' Me.FechaInicio = Texto
' Else
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FF:", vbTextCompare) + 3, 10)
' Me.FechaInicio = DateValue(DateValue(Texto) + (Me.Duracion))
' End If
'
' Case "Final-Final ¬(FF)"
' If Me.Duracion = 0 Then
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FF:", vbTextCompare) + 3, 10)
' 'MsgBox "La fecha de inicio debe ser igual o menor a: " & Me.FechaInicio
' Me.FechaFinal = Texto
' Else
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FF:", vbTextCompare) + 3, 10)
' 'MsgBox "La fecha de inicio debe ser igual o menor a: " & Me.FechaInicio
' Me.FechaInicio = DateValue(DateValue(Texto) + (Me.Duracion))
' Me.FechaFinal = Texto
' End If
'
' Case "Comienzo-Final ¬(CF)"
' If Me.Duracion = 0 Then
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FI:", vbTextCompare) + 3, 10)
' Me.FechaFinal = Texto
' Else
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FI:", vbTextCompare) + 3, 10)
' Me.FechaInicio = DateValue(DateValue(Texto) + (Me.Duracion))
' Me.FechaFinal = Texto
' End If
'
' Case "Comienzo-Comienzo ¬(CC)"
' If Me.Duracion = 0 Then
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FI:", vbTextCompare) + 3, 10)
' Me.FechaInicio = Texto
' Else
' Texto = Mid(Me.NodoReferencia, InStr(1, Me.NodoReferencia, "FI:", vbTextCompare) + 3, 10)
' Me.FechaInicio = Texto
' Me.FechaFinal = DateValue(DateValue(Texto) + (Me.Duracion))
' End If
'
' End Select
'
' Else
' Me.Porcentaje.Enabled = True
' Me.Duracion.Enabled = False
'
' End If
' End If
'
'End Sub
Agradezco cualquier colaboración