Como actualizo on-line una tabla dinamica

09/07/2005 - 01:11 por titon | Informe spam
Hola, tengo que Actualizar cada vez que hago click en un boton, un
tabla dinamica, y he encontrado la siguiente instruccion:


Code
-
Hoja6.Range("R3").PivotTableWizard SourceType:=xlDatabase, _
SourceData:=Hoja6.Range(Hoja6.Cells(3, 15), Hoja6.Cells _
(topeDataReporte, 16)
-


Donde:

Hoja6, es la hoja donde la tabla dinamica, que se ha de actualizar.
Range("R3") es donde se encuentra la primera celda de esta tabla.
Range(Hoja6.Cells(3, 15), Hoja6.Cells(topeDataReporte, 16)), es e
rango de la fuente de datos de la tabla dinamica.
topeDataReporte, es la fila final de la fuente de datos.

Pero se me cae, alguien sabe como hacer esto, de otra manera, o com
mejorar esta instruccion.

Gracias

tito
titon's Profile: http://www.msusenet.com/member.php?userid)3
View this thread: http://www.msusenet.com/t-187059707

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/07/2005 - 07:18 | Informe spam
hola, titon !

... tengo que Actualizar... una tabla dinamica, y he encontrado la siguiente instruccion:
Hoja6.Range("R3").PivotTableWizard SourceType:=xlDatabase, _
SourceData:=Hoja6.Range(Hoja6.Cells(3, 15), Hoja6.Cells _
(topeDataReporte, 16))
... se me cae, alguien sabe como hacer esto, de otra manera, o como mejorar esta instruccion.



1) que siginfica actualizar ?
a) hacer un 'refresco' de los datos de origen...
b) modificar el rango de los datos de origen...
c) -?-
2) no estoy muy seguro de que sea necesario 'llamar' al asistente [.PivotTableWizard] -?-
3) que significa [exactamente] 'se me cae' ?
a) algun mensaje de error... [que dice ?]
b) el codigo se detiene en alguna linea... [en cual ?]
4) 'tal como estas usando' la variable ->Hoja6<- [en codigo] ES una referencia al 'CodeName' de la hoja
->NO al nombre que aparece en la interfase de usuario<- [cuya propiedad es .Name]
5) no te sirvio la propuesta que te ofreci [julio/1/2005] a tu post anterior [tabla dinamica activa] ?
o... la propuesta de modificaciones de KL [julio/5/2005] a tu 2do post [tengo problemas con las tablas dinamicas] ?
-> 'parece' que no estas 'dispuesto' a ofrecer una 'retro-alimentacion' :-( <-

si comentas detalles adicionales ;)
saludos,
hector.
Respuesta Responder a este mensaje
#2 titon
10/07/2005 - 19:34 | Informe spam
te cuento la pelicula completa. En la hoja6 tengo creada una tabl
dinamica llamada 'pivotTable'. Esta se esta alimentando de una consult
SQL, que tiene el tamano de datos variable, es decir, la cantidad d
filas de la consulta varian de acuerdo a parametros modificables desd
la otra hoja 'sheet1'. Cada vez que hago una modificacion en dicho
parametros (en 'sheet1'), esta me corre una pequena macro, que primer
conoce el tamano de los datos de la conulta SQL, y con esto deb
decirle a la tabla dinamica que se refresque pero que ademas decirl
que la fuente de datos a cambiado de tamano y que por tanto deb
refrescarce considerando este factor.

Por tanto un simple 'refresh' aunque sirve en parte, no sirve par
decirle a la tabla dinamica que el tamano de fuente de datos
cambiado.

Por tanto creo que PivotWizard es lo que se deberia usar en este caso.

Yo como dije antes tengo algo asi:

Code
-
Hoja6.Range("R2").PivotTableWizard SourceType:=xlDatabase, _
SourceData:=Range(Cells(3, 15), Cells(topeDataReporte, 16)
-


Creo que el problema esta en que en vez de

Code
-
Hoja6.Range("R2").PivotTableWizard ..
-


debiera decir

Code
-
Hoja6.Select
Range("R2").Select
ActiveSheet.PivotTableWizard ..
-


El problema es que para hacer esto primero 'Hoja6' debe estar visible
y segundo sebo seleccionar y cambiarme de la hoja de presentacio
'Sheet1' a la hoja de datos 'Hoja6'.

Es posible hacer esto sin que deba de efectuar ninguna de la accione
anteriores ?

Creo que con esto aporto un poco mas o no ?

Saludo

tito
titon's Profile: http://www.msusenet.com/member.php?userid)3
View this thread: http://www.msusenet.com/t-187059707
Respuesta Responder a este mensaje
#3 Héctor Miguel
10/07/2005 - 22:19 | Informe spam
hola, titon !

... la pelicula completa. En la hoja6 tengo creada una tabla dinamica llamada 'pivotTable'
... se esta alimentando de una consulta SQL, que tiene el tamano de datos variable
... la cantidad de filas de la consulta varian de acuerdo a parametros modificables desde... 'sheet1'
... una modificacion en... 'sheet1'... corre una... macro, que... conoce el tamano de los datos de la consulta SQL
... decirle a la tabla dinamica que se refresque... ademas decirle que la fuente de datos a cambiado de tamano
... un simple 'refresh'... no sirve para decirle a la tabla dinamica que el tamano de fuente de datos a cambiado [...]
... con esto aporto un poco mas o no ?



por supuesto que aportas [mas que] 'un poco mas' :))
el 'simple refresh' [seguramente] podra ser suficiente [SI... y siempre y cuando]...
-> si utilizas rangos 'dinamicos' para el origen de la TD [en 'la otra hoja']
[suponiendo que la consulta sql es 'volcada' a un rango en 'la otra hoja'] :))
-> puedes 'ver' [y descargar archivos con] ejemplos en:
http://www.contextures.com/xlPivot01.html
o informacion 'basica' [y avanzada] con enlaces a otros sitios y documentacion en:
http://peltiertech.com/Excel/Pivots/pivotstart.htm
o trabajar con los owc [office web components] para crear TD 'interactivas' [informacion basica] en:
http://www.tushar-mehta.com/powerpo.../index.htm

si cualquier duda... comentas?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida