Tabla dinámica con rango variable

He añadido un botón a una barra de herramientas, al que he asignado una macro. La macro lo que hace es crear una tabla dinámica con unos campos concretos. Lo que ocurre es que los datos de origen de la tabla tienen rangos distintos cada día (concretamente cambia el número de filas). En la pivotcache, ¿Cómo le paso los datos de origen dependiendo del nº de filas que tenga el rango de datos?

1 respuesta

Respuesta
1
Una alternativa para hacer lo que quieres, es definir una variable del tipo Range, a través de la cual se seleccione toda la tabla. Por ejemplo podrías incluir en tu código algo como esto :
Dim rango As Range
Set rango = Range("A1").CurrentRegion
Set TablaDinCache = ActiveWorkbook.PivotCaches.Add(xlDatabase, rango.Address)
En el ejemplo se supone que los datos comienzan en la celda A1 (Range("A1")) y el método CurrentRegion selecciona todo el rango de datos.
Si aún tienes dudasm continúa la pregunta.
Gracias por la rapidez en la respuesta.
Funciona perfecto.
He descubierto otra forma:
Dim nombre As String
nombre = ActiveSheet.Name
Range("A1").Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
filas = Selection.Count
rango = nombre & "!R1C1:R" & filas & "C23"
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
rango).CreatePivotTable TableDestination:="", TableName _
:="Tabla dinámica1", DefaultVersion:=xlPivotTableVersion10
Muchas gracias otra vez. Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas