Copiar datos de una tabla dinamica a otra hoja de excel

Estoy generando una macro que me permita copiar y pegar los valores de una tabla dinamica a una hoja de excel medianto los filtrados, ahorita he tenido exito con un copiado de un filtrado pero para hacerlo con los siguientes me los encima. Mando el codigo.

Dim i As Worksheet
Dim r As Worksheet
Dim pt As PivotTable
Dim rng As Range
Dim primera As Integer
Dim segunda As Integer
Set i = Worksheets("Ordenar")
Set r = Worksheets("Formato General")
Set pt = i.PivotTables("Pivottable1")
Set rng = pt.TableRange1
i.PivotTables("PivotTable1").PivotFields("AREA").CurrentPage = _
"HOSPITALIZACION"
primera = rng.Rows(1).Row
rng.Offset(1, 0).Copy Destination:=r.Cells(primera, 1)
Application.CutCopyMode = False
i.PivotTables("PivotTable1").PivotFields("AREA").CurrentPage = _
"Insumos"
segunda = rng.Rows(primera + 1).Row
rng.Offset(1, 0).Copy Destination:=r.Cells(segunda, 1)
Application.CutCopyMode = False
End Sub

1 Respuesta

Respuesta
2

Prueba lo siguiente:

Calcula la siguiente fila disponible de la columna A

Sub CopiaTabla()
  Dim i As Worksheet
  Dim r As Worksheet
  Dim pt As PivotTable
  Dim rng As Range
  Dim lr  As Long
  '
  Set i = Worksheets("Ordenar")
  Set r = Worksheets("Formato General")
  Set pt = i.PivotTables("Pivottable1")
  Set rng = pt.TableRange1
  i.PivotTables("PivotTable1").PivotFields("AREA").CurrentPage = _
    "HOSPITALIZACION"
  lr = r.Range("A" & Rows.Count).End(3).Row + 1
  rng.Offset(1, 0).Copy Destination:=r.Cells(lr, 1)
  i.PivotTables("PivotTable1").PivotFields("AREA").CurrentPage = _
    "Insumos"
  lr = r.Range("A" & Rows.Count).End(3).Row + 1
  rng.Offset(1, 0).Copy Destination:=r.Cells(lr, 1)
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas