Macro para elegir varios valores en Tabla Dinámica

Tengo una gran duda sobre como filtrar una tabla dinámica ya que estoy manejando un reporte enfocado a 6 de entre 150 productos aproximadamente por semana van a ser diferentes y quisiera saber si hay forma de filtrarlos sin que tarde tanto la macro ya que en alguna ocasión lo intente pero tarda aproximadamente 10 min ya que me va poniendo todo lo que no se va a ver en el informe de la siguiente manera

 With ActiveSheet.PivotTables("TablaDinámica14").PivotFields("SKU")

.PivotItems("1005").Visible = False
.PivotItems("10054").Visible = False
.PivotItems("10055").Visible = False
.PivotItems("10056").Visible = False

Al ser tantos códigos se tarda lo cual me gustaría reducir el tiempo de ese paso agradezco de antemano el apoyo que siempre he recibido en este foro

1 respuesta

Respuesta
1

Se me ocurre que hagas el filtro en el origen de los datos, con un autofiltro o con el filtro avanzado, el resultado del filtro lo pongas en otro rango de celdas o en otra hoja, y sobre esos últimos datos realices la tabla dinámica.

Disculpa pero como hago la instrucción de ese proceso en la macro

Como no pones alguna imagen con tus datos origen, te pongo ejemplos y tú te encargas de adaptarlo a tus datos.

Por ejemplo, con autofiltro. Mis datos origen están en las columnas A y B. En la columna A quiero filtrar y ver solamente algunos datos.

Sub Macro2()
'
    Set h1 = Sheets("Hoja1")    'hoja con los datos origen
    Set h2 = Sheets("Hoja2")    'hoja temporal
    If h1.AutoFilterMode Then h1.AutoFilterMode = False
    h2.Cells.ClearContents
    '
    'datos que quiero visualizar
    datos = Array("a", "c", "e")
    '
    'Filtrar datos de la columna A
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A1:B" & u).AutoFilter Field:=1, _
        Criteria1:=datos, Operator:=xlFilterValues
    'copiar los datos de la hoja1 a la hoja2
    h1.Range("A1:B" & u).Copy h2.Range("A1")
    '
    'Listo en la hoja2 tienes los datos filtrados,
 'sobre esa base debes crear la tabla dinámica
End Sub

intenta adaptarlo a tu información

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas