Tabla dinámica en macros.

Hola estimado...
Tengo inconvenientes en el funcionamiento de una macro que utilizo y que paso a comentarte.
Todos los meses corro una macro que toma datos de una planilla excel y los convierte en una tabla dinámica.
La cantidad de registros se incrementa mes a mes y mi macro de tabla dinámica se mantiene siempre invariable en el rango que utilizo.
Para actualizar ese rango debo hacerlo de forma manual y saber que rango debe tomar de ese archivo.
¿Cómo se puede hacer para actualizar ese rango en forma automática cada vez que se procesa la macro?
Este es el detalle de la macro donde muestra el rango a tomar para la tabla dinámica.
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Hoja1!R1C1: (ESTE EL DATO QUE TENGO QUE CAMBIAR TODOS LOS MESES )---------> R2083C5").CreatePivotTable TableDestination:="", TableName:="Tabla dinámica1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("pep")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Ejercicio SAP")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tabla dinámica1").AddDataField ActiveSheet.PivotTables _
("Tabla dinámica1").PivotFields(" Alta"), "Suma de Alta", _
xlSum
ActiveWorkbook.ShowPivotTableFieldList = False
Application.CommandBars("PivotTable").Visible = False
Desde muchísimas gracias por la contestación
Saludos.
Omar.

1 respuesta

Respuesta
1
Si la tabla está en el mismo archivo, tal vez puedas conseguir en una variable la cantidad de filas y después colocar la variable en tu macro, algo parecido a
dim filaHasta as Long
filaHasta = Sheets("Hoja1").Range("A1").CurrentRegion.Rows.Count
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Hoja1!R1C1:R" & filaHasta & "C5").CreatePivotTable TableDestination:="", TableName:="Tabla dinámica1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas