Filtrar y mostrar datos en otra hoja

Tengo un problema con el Excel que no se solucionar. No domino las macros y no puedo resolverlo

Tengo una hoja “horario” y quisiera hacer una doble consulta i mostrar el resultado en otro hoja “turno”.

Como veis en el ejemplo en la hoja “turno” quiero introducir la Fecha i el turno. I que me muestre todas la filas de la hoja “horario” que coincida fecha y horari. Así sabre que que trabajaores hay en ese turno.

Les estaría agradecido si pudieran ayudarme

1 Respuesta

Respuesta
2

Prueba esta macro

Sub contar_trabajadores()
Set h1 = Worksheets("horario")
Set h2 = Worksheets("turno")
filas = h1.Range("a1").CurrentRegion.Rows.Count
columnas = h1.Range("a1").CurrentRegion.Columns.Count
With h1
    Set fechas = .Range("a1").Resize(1, columnas)
    Set trabajadores = .Range("a3").Resize(filas - 2, columnas)
End With
With h2
    .Range("b5").CurrentRegion.ClearContents
    fecha = .Range("b3"):   turno = .Range("c3")
    busca = WorksheetFunction.Match(CDbl(fecha), fechas, 0)
   With trabajadores
    Cuenta = WorksheetFunction.CountIf(.Columns(busca), turno)
    trabajadores.Sort key1:=h1.Range(.Columns(busca).Address), order1:=xlAscending
    busca2 = WorksheetFunction.Match(turno, .Columns(busca), 0)
    Union(.Rows(busca2).Resize(Cuenta, 3), .Cells(busca2, busca).Resize(Cuenta)).Copy
End With
 With h2.Range("b5")
    .PasteSpecial xlPasteValues
    .CurrentRegion.EntireColumn.AutoFit
End With
End With
End Sub

este es el resultado en la turno.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas