Cargar Fecha a TextBox de DTPicker relacionado.

En un formulario se crea cuadros de etiqueta, textbox y DTPicker por código, la finalidad es ingresar la fecha del DTPicker al Textbox que se encuentra al lado izquierdo.

He tratado de hacerlo con Private Sub xDTPicker1_Change(), sin resultado alguno, sin embargo si el DTpicker se crea desde el cuadro de herramientas el evento Change funciona correctamente. Otra posibilidad sería pasar la fecha desde un DTpicker creado desde el cuadro de herramientas al Textbox que tiene el Setfocus, algo asi como pasar a la celda activa. Tampoco he dado con el evento Change para el Textbox creado por código.

Estoy trabajando con Excel 2010 de 32 bits.

La macro es la siguiente:

Private Sub UserForm_Initialize()
    Dim ctrLBL As MSForms.Label     'Para las etiquetas
    Dim ctrTB As MSForms.TextBox    'Para los cuadros de texto
    Dim ctrDTP As MSComCtl2.DTPicker2 'Para los cuadros de DTPicker
    Dim n As Byte
    With Me
        For n = 1 To 6
            Set ctrLBL = .Controls.Add("Forms.Label.1")
            With ctrLBL
                .Caption = "dato " & n
                .Height = 16
                .Width = 40
                .Top = ((n - 1) * 16) + 3
                .Left = 40
                .BorderStyle = fmBorderStyleSingle
                .Font.Size = 8
                .Name = "Etiqueta" & n
            End With
            Set ctrTB = .Controls.Add("Forms.TextBox.1")
            With ctrTB
                .Value = 0
                .Height = 16
                .Width = 100
                .Top = ((n - 1) * 16) + 3
                .Left = 81
                .Font.Size = 8
                .TextAlign = fmTextAlignRight
                .Name = "xTextBox" & n
            End With
            Set ctrDTP = .Controls.Add("MSComCtl2.DTPicker.2")
            With ctrDTP
                .Height = 16
                .Width = 100
                .Top = ((n - 1) * 16) + 3
                .Left = 181
                .CheckBox = True
                .Value = Null
                .Font.Size = 8
                .Name = "xDTPicker" & n
            End With
        Next n
    End With
End Sub

Infinitas bendiciones para todos y de antemano muchas gracias por vuestra generosa respuesta.

Añade tu respuesta

Haz clic para o