Es un poco complicado pero voy a intentar explicarlo bien:
Hoja PLAN: tengo un objeto Tabla con los encabezados en la línea 9
En la fila 6 tengo una serie de subtotales que utilizo para obtener resultados en función de los filtros que aplico.
En otra hoja COMPLEMENTOS, tengo una serie de botones con macros para aplicar filtros y copiar los subtotales en celdas de esa hoja COMPLEMENTOS
Lo que quiero hacer es lo mismo pero, en lugar de con subtotales, con los valores únicos de la columna Q ("Equipo").
Es decir, yo indicaría en COMPLEMENTOS una Fecha y un Día de la semana y aplicaría el filtro a la tabla.
Después, necesitaría que en la Q6 me aparecieran los valores únicos de la columna Q (en el ejemplo de la imagen, sería = 3 (equipos 1, 2 y 4)) --> es el nº d equipos que trabajan el domingo para la fecha indicada.
Esa celda Q6 la copiaría y la pegaría en COMPLEMENTOS
Ésta es la macro que utilizo para hacer esta acción:
Sub Subtotales()
Dim Celda As Range, Lista As Range
Application.ScreenUpdating = False
Set h1 = Sheets("PLAN")
Set h2 = Sheets("COMPLEMENTOS")
'Recorrer las fechas en COMPLEMENTOS (C6:C11) --> copiar fecha en celda de PLAN y aplicar filtro
For i = 6 To 11
If h2.Cells(i, "C").Value <> "" Then
h1.Range("celFecha") = h2.Cells(i, "C").Value
'Llama a la macro para aplicar el filtro en PLAN. Para ello me sitúo en dicha hoja primero
h1.Select
Call LimpiarFiltro
Call Filtrar_Fechas
'Copia las celdas con los subtotales en PLAN y las pega en COMPLEMENTOS
h1.Range("AH6:AL6").Copy
h2.Cells(i, "D").PasteSpecial Paste:=xlPasteValues
End If
Next
Application.ScreenUpdating = True
Application.CutCopyMode = False
'Limpiar los autofiltros
h1.Select
Call LimpiarFiltro
'Limpiar la celda Fecha plan
h1.Range("celFecha").Select
Selection.ClearContents
h2.Select
End Sub