Ingresar/Consultar datos de una hoja de excel a través de un dtpicker fecha y hora

Actualmente estoy trabajando en un proyecto donde se debe ingresar/consultar mediante un formulario a través de fechas (dtpicker) una serie de parámetros de diferentes hojas. Utilizo los botones (ingresar, borrar y cancelar) Los inconvenientes que tengo es cuando consulto una fecha para observar los parámetros en el formulario me arroja un error 1004. Me fije que cuando utilizo el evento "Change" me registra los datos en las diferentes celdas que se desea pero no me los consulta. Cuando utilizo el evento afterUpdate me arroja el error antes mencionado. Tampoco me borra la informacion de fecha y hora de los combobox (estetica del formulario) cuando doy click al boton borrar. Gracias de antemano al que me pueda ayudar. A continuación les dejo el codigo.

Public ubica As String
Public control As Integer
Public filalibre As Integer

Private Sub UserForm_Activate()
Formulario. TURNO. Clear
TURNO. AddItem "Diurno"
TURNO. AddItem "Mixto"
TURNO. AddItem "Nocturno"

FORMULARIO. Responsable. Clear
Responsable. AddItem "Daniel Colmenares"
Responsable. AddItem "Cristhian Chacon"
Responsable. AddItem "Jesus Castro"

End Sub

Private Sub INSERTAR_Click()
Sheets("AGUA").Select
If control > 0 Then
'Actualizar Datos'
Range(ubica).Value = FECHA
Range(ubica).Offset(0, 1).Value = HORA
Range(ubica).Offset(0, 2).Value = TURNO
Range(ubica).Offset(0, 3).Value = RESPONSABLE
Range(ubica).Offset(0, 4).Value = Val(SERVICIOS)
control = 0
Else
'Crear nuevos datos
Cells(filalibre, 1).Value = FECHA    "Aqui me arroja el error 1004"
Cells(filalibre, 2).Value = HORA
Cells(filalibre, 3).Value = TURNO
Cells(filalibre, 4).Value = RESPONSABLE
Cells(filalibre, 5).Value = Val(SERVICIOS)
End If

FECHA = Empty

HORA = Empty

TURNO = Empty
RESPONSABLE = Empty
SERVICIOS = Empty
FECHA.SetFocus
End Sub

Private Sub BORRAR_Click()

FECHA = Empty

HORA = Empty

TURNO = Empty
RESPONSABLE = Empty
SERVICIOS = Empty
FECHA.SetFocus
Sheets("AGUA").Select
MsgBox "Borrado"
End Sub

Private Sub CANCELAR_Click()
Unload FORMULARIO
Sheets("AGUA").Select

End Sub

Private Sub FECHA_AfterUpdate()       "cuando utilizo este evento"
Sheets("AGUA").Select
filalibre = Range("A9").End(xlDown).Offset(1, 0).Row
'la variable filalibre guarda el nro. De la primer celda vacía.
control = 0
dato = FECHA
rango = "A9:A" & filalibre
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If (midato) Is Nothing Then
MsgBox "No se encontraron los datos, se procede a crear uno nuevo"
Else
ubica = midato.Address(False, False)
HORA.Value = Range(ubica).Offset(0, 1).Value
TURNO.Value = Range(ubica).Offset(0, 2).Value
RESPONSABLE.Value = Range(ubica).Offset(0, 3).Value
SERVICIOS.Value = Range(ubica).Offset(0, 4).Value
control = 1
End If
Sheets("AGUA").Select
Set midato = Nothing
End Sub

Añade tu respuesta

Haz clic para o