Excel - Rango de datos en Tabla dinamica

 
Vista:

Rango de datos en Tabla dinamica

Publicado por Omar (2 intervenciones) el 01/04/2009 17:45:29
Todos los meses corro una macro que toma datos de una planilla excel y los convierte en una tabla dinamica.

El inconveniente que tengo es que la cantidad de registros se incrementa mes a mes y mi macro de tabla dinamica 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.

Como se puede hacer para actualizar ese rango en forma automatica cada vez que se procesa la macro ?

Este es el detalle de la macro donde muestra el rango a tomar para la tabla dinamica.


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 muchisimas gracias por la contestacion

Omar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rango de datos en Tabla dinamica

Publicado por Luis Fernando (803 intervenciones) el 03/04/2009 05:38:46
Puedes hacerlo usando la función DESREF para definir el rango de la base de datos

Por ejemplo crear un NOMBRE con la formulación siguiente

=DESREF(Hoja1!$C$3;0;0;CONTARA(Hoja1!$C:$C);CONTARA(Hoja1!$3:$3))

y asignar este NOMBRE al rango origen de los datos de la tabla dinámica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de datos en Tabla dinamica

Publicado por TXICOTE (2 intervenciones) el 03/04/2009 19:21:28
He hecho lo que me sugeriste, pero cuando incorporo el nombre del rango ( con la formula ) en la tabla dinamica me informa lo siguiente.

EL NOMBRE DE CAMPO DE TABLA DINAMICA NO ES VALIDO. PARA CREAR UN INFORME DE TABLA DINAMICA DEBE USAR DATOS ORGANIZADOS EN FORMA DE LISTA CON COLUMNAS ROTULADAS. SI DESEA CAMBIAR EL NOMBRE DEL CAMPO DE LA TABLA, DEBE ESCRIBIR UN NOMBRE NUEVO PARA EL CAMPO.

Esta indicando que en la tabla solo SE ACEPTAN RANGOS de filas y columnas no asi nombres dados a ese rango.

Probaste insertando el nombre del rango en la tabla dinamica?.

Gracias desde ya.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rango de datos en Tabla dinamica

Publicado por Luis Fernando (803 intervenciones) el 13/04/2009 04:01:47
Lo que quise decir fue que se creara un NOMBRE pero no dentro de la tabla dinámica, sino como cuando das nombre a un grupo de celdas, solo que aqui no asignas unas celdas al NOMBRE sino la formulación:

=DESREF(Hoja1!$C$3;0;0;CONTARA(Hoja1!$C:$C);CONTARA(Hoja1!$3:$3))

Por ejemplo si tienes office 2007 lo haces por :

Formulas / Adminitsrador de nombres / Nuevo das el nombre que quieras y en hace referencia a: das la formulación

Creo que en office 2003 estaba por:

Insertar / Nombre / Crear .....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar