Campos calculados

04/11/2009 - 23:10 por Manny_90 | Informe spam
Que tal

Tengo una base de datos que se alimenta de un formulario.
De esa base de datos. Tengo encabezados Fecha – transacción – Semana – Mes

Por ejemplo
Fecha transacción Semana Mes
11/4/2009 300.00 45 Noviembre
11/5/2009 345.00 45 Noviembre
11/4/2009 -(90.00) 45 Noviembre
11/4/2009 -(200.00) 45 Noviembre
11/11/2009 -(100.00) 46 Noviembre

Ahora. De esa base de datos tengo una tabla y grafico dinámico (ya diseño
predefinido). Tabla dinamica esta en la hoja “So far”, el grafico esta como
objeto en la hoja “Home”.
Hago esto para actualizar la tabla / grafico dinámico.

ftg = WorkSheet(“Data”).Range("x65536").End(xlUp).Offset(1, 0).Row

Sheets("So far").Select
Range("A5").Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"Data!R2C24:R" & ftg & "C28"

Y si lo actualiza perfectamente.
En la tabla grafico dinámico agregue un campo calculado que es la suma de
las semanas por ejemplo (45 + 46) + 47 + 48 …etc).

La pregunta es:
Si lleno otro renglón por ejemplo:
11/18/2009 940 47 Noviembre

Como puedo hacer una macro para que agregue al campo calculado la semana 47
y el resto de las semanas que se agreguen a la base de datos automáticamente
(45 + 46 + 47 + 48 …etc.). y que el campo calculado lo ponga hasta el final
de la tabla pivote.


Este es el código cuando lo agrego pero no puedo hacer que se actualice
automáticamente

ActiveSheet.PivotTables("PivotTable6").PivotFields("Semana"). _
CalculatedItems.Add "So far", "='45'", True



Mil gracias por su ayuda
Manny

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/11/2009 - 07:02 | Informe spam
hola, !

1) si quieres que sea automatico, deberas encontrar la forma (y evento) de indicarle al codigo que "hay una nueva semana no. ???")

2) con base en el codigo que usas para actualizar/agregar las semanas "nuevas"...
ActiveSheet.PivotTables("PivotTable6").PivotFields("Semana").CalculatedItems.Add "So far", "='45'", True



-> podrias modificar esta misma macro preguntando por el nuevo numero de semana (sin prevencion/correccion de errores...)

ActiveSheet.PivotTables("PivotTable6").PivotFields("Semana").CalculatedItems.Add _
"So far", "='" & InputBox("ingresa EL NUEVO numero de semana") & "'", True

saludos,
hector.

__ OP __
Tengo una base de datos que se alimenta de un formulario.
De esa base de datos. Tengo encabezados Fecha transaccion Semana Mes
Por ejemplo
Fecha transaccion Semana Mes
11/4/2009 300.00 45 Noviembre
11/5/2009 345.00 45 Noviembre
11/4/2009 -(90.00) 45 Noviembre
11/4/2009 -(200.00) 45 Noviembre
11/11/2009 -(100.00) 46 Noviembre
Ahora. De esa base de datos tengo una tabla y grafico dinamico (ya diseno predefinido).
Tabla dinamica esta en la hoja So far, el grafico esta como objeto en la hoja Home.
Hago esto para actualizar la tabla / grafico dinamico.

ftg = WorkSheet(“Dataâ€
Respuesta Responder a este mensaje
#2 Héctor Miguel
10/11/2009 - 04:54 | Informe spam
hola, !

1) si quieres que sea automatico, deberas encontrar la forma (y evento) de
indicarle al codigo que "hay una nueva semana no. ???")

2) con base en el codigo que usas para actualizar/agregar las semanas
"nuevas"...



ActiveSheet.PivotTables("PivotTable6").PivotFields("Semana").CalculatedItems.Add "So far", "='45'", True

-> podrias modificar esta misma macro preguntando por el nuevo numero de
semana (sin prevencion/correccion de errores...)


ActiveSheet.PivotTables("PivotTable6").PivotFields("Semana").CalculatedItems.Add _
"So far", "='" & InputBox("ingresa EL NUEVO numero de semana") & "'", True

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