Acceder a campo de datos

11/12/2006 - 19:26 por lusmig | Informe spam
He creado una tabla dinámica con varios campos:cliente,tipo operacion
y fecha operacion en el area FILA del diagrama que el asistente
proporciona para construir la tabla y los campos Importe e Iva en el
area DATOS .Lo que quería era crear otra columna dentro del area de
datos llamada Importe Acumulado que me fuera acumulando los importes de
la columna importe.He intentado acceder
al contenido de los campos de la columna Importe de la siguiente forma:

ActiveSheet.PivotTables("Tabla
dinámica1").PivotFields("IMPORTE").PivotItems(1).Value

Pero en vez de devolverme el primer valor de la columna Importe me
devuelve
el menor de los valores de dicha columna.Ademas me sustituye un punto
por una coma.¿como trata excel los campos de datos en una tabla
dinámica?¿como puedo acceder al valor de cada celda de la columna
Importe desde una macro en hecha en visual basic?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
12/12/2006 - 06:54 | Informe spam
hola, luis !

Mostrar la cita
revisa el apartado 'P' [de pivot tables] de la siguiente pagina:
-> http://www.contextures.com/tiptech.html

si no lo encuentras ahi [o sus diferentes enlaces]... sera necesario desarrollar algoritmos mas 'dedicados' -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
#2 lusmig
12/12/2006 - 13:25 | Informe spam
Hola Héctor le he echado un vistado al apartado P de la pagina que me
comentas (ya la conocía) y si que trae información interesante acerca
de las tablas dinámicas pero no encontré nada que pudiera orientarme
para resolver mi problema ...Si se te ocurre algo pues comentamelo ...
sino déjalo ya buscaré otra forma ...

Un saludo y gracias !!!!


Héctor Miguel ha escrito:

Mostrar la cita
#3 Héctor Miguel
12/12/2006 - 21:52 | Informe spam
hola, luis !

Mostrar la cita
prueba con la siguiente alternativa [aunque no imagino el arreglo 'real' de tu TD] -?-

1) agrega una columna [o campo] para los acumulados en tu listado 'base' de la TD [obviamente]...
necesitaras iniciar con una formula de suma-acumulativa del tipo: =suma(d$2:d2) [o similar]

2) ordena tu listado en el mismo orden en que aparecen los campos en el area de filas en tu TD

3) activa el asistente para TD e incluye en el area de datos la nueva columna en el origen de tu TD

4) selecciona el nuevo elemento desde las filas de tu TD y sigue estos pasos:
a) haz un click-secundario y selecciona la opcion de: -> campo [de la tabla dinamica]
b) cambia la opcion de funcion de suma a -> max
c) cambia su nombre [p.e.] a Suma de Importe Acumulado

-> no te olvides del orden de los datos en tu listado original siempre que actualices sus datos [y refrescar la TD] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
#4 lusmig
04/01/2007 - 17:16 | Informe spam
Hola Héctor no se si te he entendido bien pero no me funciona lo que
me has indicado.Primero me hablas de que inicie con una formula de
suma-acumulativa del tipo
suma(d$2:d2), ¿pero que pasa cuando tengo 1000 o 2000
registros?,ademas si cambio el orden de los campos de fila se
desordenan los importes acumulados y necesito que los campos de fila se
puedan mover y se actualicen los importes acumulados correctamente...
otra cosa ,si cambio la funcion de suma a max no me da el importe
acumulado...

Héctor Miguel ha escrito:

Mostrar la cita
#5 Héctor Miguel
05/01/2007 - 03:24 | Informe spam
hola, luis !

Mostrar la cita
1) toma en cuenta el primer comentario que te hago en la propuesta anterior...
"prueba con la siguiente alternativa [aunque no imagino el arreglo 'real' de tu TD] -?-"

2) considera que el comentario anterior 'obecece' a que [hasta la fecha] NO has expuesto/comentado/mencionado/...
a) cual es el 'arreglo' que tienes de los datos 'base/fuente/origen/...' para tu TD [ni el de la TD misma] :(
b) que formulas contiene el listado de origen [como para no 'distorsionar' los "importes acumulados correctamente" -???-
o sea... los 'detalles' que no se alcanzan a 'ver' [desde este lado del mensaje] :))

3) tienes al menos dos [o tres] alternativas para que nos podamos 'enterar' de lo que no has comentado:
a) explicar, lo mas 'conciso' [pero apegado a 'la realidad'] posible... esos 'detalles'
b) 'subir' un archivo con datos/instrucciones en algun sitio 'publico' para que lo obtenga quien desee participar con propuestas
c) enviarme una copia de tu archivo [en .ZIP plis] a mi correo [quitando de la direccion que aparece el 'NO...SPAM...PLS'] ;)

comentas por donde le damos ?
saludos,
hector.
Ads by Google
Search Busqueda sugerida