Macro para buscar en una base de datos 3 condiciones y realizar acción parte 1

Estoy realizando una especie de control de asistencias, estoy empezando con el proyecto y me salen con algunas circunstancias de las cuales las externo para su ayuda.

Tengo 2 hojas una llamada COLABORADORES y otra HISTORIA.L

En COLABORADORES esta las claves las personas y el área de cada cual en este caso el rango es de B4:D5

Para ello he creado un formulario con un botón llamado VERIFICADOR el código es el siguiente:

Formulario:

el codigo del boton verificador

Private Sub CommandButton1_Click()
On Error GoTo h
Set B = Sheets(Hoja2.Name)
valor = B.Application.WorksheetFunction.VLookup(TextBox1.Value, Sheets("COLABORADORES").Range("B:C"), 2, 0)
valor2 = B.Application.WorksheetFunction.VLookup(TextBox1.Value, Sheets("COLABORADORES").Range("B:D"), 3, 0)
Label3.Caption = valor
Label4.Caption = valor2
Exit Sub
h:
MsgBox "ERROR, DATO NO ENCONTRADO"
End Sub

la macro que requiero para su ayuda es que al darle click al boton VERIFICADOR este me realice la macro de arriba señalada pero igual me realice un analisis en la hoja HISTORIA.L

El cual seria algo así:

Si la clave del colaborador de la hoja de "HISTORIAL" coincide con el valor del "textbox1" (que es la clave pero de la hoja de "COLABORADORES") al coincidir esa búsqueda en esa fila existe el valor "SC" en la columna "E" y además coincide la fecha con la del formulario osea la del día de hoy (date)

ENTONCES que me realice la primera acción

De lo contrario que realice otra

Y de por finalizado la acción

La idea es que busque si el colaborador ya a checado su salida a comer y si ya salio que se bloquee la salida a comer y permirta nada más su entrada a comer colocándolo en la fila correspondiente de la columna G

Aquí el código que realizo para "salida a comer"

Sub salida_comer()
Set a = Sheets(Hoja1.Name)
UltimaFila = a.Range("B" & Rows.Count).End(xlUp).Row
a.Cells(UltimaFila + 1, 2) = TextBox1.Value
a.Cells(UltimaFila + 1, 3) = Label3.Caption
a.Cells(UltimaFila + 1, 4) = Label4.Caption
a.Cells(UltimaFila + 1, 5) = "SC"
a.Cells(UltimaFila + 1, 6) = Format(Now, "hh:MM")
'a.Cells(UltimaFila + 1, 7) = Format(Now, "hh:SS")
a.Cells(UltimaFila + 1, 9) = Date
a.Cells(UltimaFila + 1, 10) = Format(Date, "mmmm")
Label7.Caption = "HORA SALIDA:"
Label11.Caption = Format(Now, "hh:MM")
End Sub

1 Respuesta

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas