Formulario vba que con dos condiciones inserte datos en columnas

Estoy intentando hacer un formulario, pero ando muuuy perdido. Pretendo que busque en la hoja tabla calendario la fila que contenga la fecha y el empleado indicado en el formulario e ingrese en la columna correspondiente los datos siguientes; en la columna N la Ausencia(Justificada o NO Justificada) y en la columna que corresponda T (Retraso) U (Enfermedad s/ Baja) V (Otras Causas) el Nº de horas que se indique en el Textbox . Adjunto el diseño de formulario por intentar situar la escena e la hoja donde se tienen que introducir los datos. Muchas gracias.

1 Respuesta

Respuesta
1

Te dejo la macro que necesitas... faltarían algunos detalles como ajustar columnas (no se ven tus encabezados). También forzar al ingreso de fecha en el TextBox1.

Private Sub CommandButton1_Click()
'x Elsamatilde
Dim x As Long
'control de campos vacíos
If ComboBox1 = "" Or TextBox1 = "" Then
    MsgBox "Faltan datos."
    Exit Sub
ElseIf Not IsDate(TextBox1) Then
    MsgBox "Error en ingreso de fecha."
    Exit Sub
End If
'buscar en la tabla los 2 campos. Previamente se quitan filtros
[B1].Select
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
Set busco = Range("B:B").Find(ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
    ini = busco.Row
    Do
        If Range("C" & busco.Row) = CDate(TextBox1) Then x = busco.Row
        Set busco = Range("B:B").FindNext(busco)
    Loop While x = 0 And Not busco Is Nothing And busco.Row <> ini
End If
'si no se encuentra coincidencia la variable 'x' queda vacía y cancela el proceso
If x = 0 Then
    MsgBox "No se encontraron coincidencias.", , "Información"
    'opcional: agregar líneas para limpiar los controles e iniciar nueva búsqueda
Else
'pase de datos en fila x
    Range("D" & x) = TextBox2.Text
End If
End Sub

(*) Encontrarás más ejemplos en el buscador de este foro el tema de control de fechas. Sino deja una nueva consulta y con mucho gusto te pasaré una macro para eso.

También en video N° 23 de mi canal desarrollé el tema FINDNEXT.

Sdos.

Elsa

https://www.youtube.com/channel/UCSftX2GNQiTDDm0C6H9wEVA 

http://aplicaexcel.com/index.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas