macro tabla dinamica

29/05/2008 - 22:05 por juan | Informe spam
hector: prometo que con esta no pregunto por un mes..., yo quiero mediante
una macro hacer una tabla dinamica, el problema es que mi rango va variando
(R1C1:R323C8), o sea lo que quiero es refrescarla, si bien yo puedo con un
contador que me detecte aumaticamente el rango, como hago para meter en el
codigo el rango que me es variable?????, habia pensado algo como
R&iC&j..., desde ya muchas gracias
juan

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'DATOS 1'!R1C1:R1323C8").CreatePivotTable TableDestination:="",
TableName _
 

Leer las respuestas

#1 Héctor Miguel
30/05/2008 - 04:46 | Informe spam
hola, juan !

... quiero mediante una macro hacer una tabla dinamica, el problema es que mi rango va variando (R1C1:R323C8)
o sea lo que quiero es refrescarla, si bien yo puedo con un contador que me detecte aumaticamente el rango
como hago para meter en el codigo el rango que me es variable?????
habia pensado algo como R&iC&j...
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'DATOS 1'!R1C1:R1323C8").CreatePivotTable TableDestination:="", TableName _



-> puedes definir un rango dinamico directamente sobre la hoja de calculo
(p.e.) visita: http://www.contextures.com/xlPivot01.html

-> para el "SourceData=" puedes usar instrucciones del tipo...
Range("a1").CurrentRegion
.Offset (y/u) .Offset(...).Resize(...)

-> prueba cambiando la seccion del SourceData con algo +/- como lo siguiente:
..., SourceData:=Worksheets("datos").UsedRange.Address(1, 1, xlR1C1, 1)

o... si la hoja tiene dos (o mas) "areas" de trabajo en uso, prueba cambiando a:
..., SourceData:=Worksheets("datos").Range("a1").CurrentRegion.Address(1, 1, xlR1C1, 1)

saludos,
hector.

Preguntas similares