Grafico de tabla

06/01/2005 - 12:30 por martin | Informe spam
Perdon, puse mal el mensaje

Buen dia de Magos de Oriente a todos:

Necesito ayuda para hacer los graficos de una tabla. La tabla tiene 20
columnas y 95 filas, aunque estas iran aumentando al paso de los dias. La
columna a es la fecha del dia dia por dia (excepto domingos), las celdas
b1, c1, d1, y siguientes hasta 20 son nombres (de representantes en este
caso). Lo que queda en el cuerpo de la tabla es el volumen de ventas dia
por dia de cada uno. Quiero hacer un grafico de cada uno de ellos que se
actualice automaticamente al introducir los datos correspondientes de cada
dia.
De momento selecciono la columna fecha y la del que quiero graficar y
pulso f11. Obtengo en el acto el grafico que quiero, pero al actualizar los
datos no se actualiza y me gustaria no tener que crearlo cada vez.

Puede ayudarme alguien?. Gracias por anticipado.

Preguntas similare

Leer las respuestas

#1 KL
06/01/2005 - 15:14 | Informe spam
Hola Martin,

Supongo q el grafico se encuentra en una hoja de grafico especial y no una
hoja de calculo. Si es asi, prueba copiar el macro de abajo en el modulo VBA
de la hoja q contiene los datos. Para hacerlo:
1. cambia si es preciso el nombre de la hoja y del grafico y el rango de
columnas en el codigo
2. copia el codigo de este mensaje
3. ve a la hoja con la tabla y haz clic derecho sobre el nombre de la hoja q
se encuentra en una de las pestnas de abajo.
4. selecciona Ver Codigo y se abrira el editor VBA
5. pega el codigo en la ventana de la derecha
6. vuelve a la hoja prueba anadir filas
7. comprueba si el grafico se ha modficado.

Acuerdate de habilitar los macros cada vez q abras el fichero.

Saludos,
KL

'--Inicio Codigo
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim Rng As Range
Dim Graf As Chart

With ThisWorkbook
Set Hoja = .Worksheets("Hoja1")
Set Graf = .Charts("Grafico1")
Set Rng = Intersect(Hoja.UsedRange, Hoja.Range("A:U"))
End With

If Not Rng Is Nothing Then Graf.SetSourceData Source:=Rng
End Sub
'--Fin Codigo



"martin" wrote in message
news:
Perdon, puse mal el mensaje

Buen dia de Magos de Oriente a todos:

Necesito ayuda para hacer los graficos de una tabla. La tabla tiene 20
columnas y 95 filas, aunque estas iran aumentando al paso de los dias. La
columna a es la fecha del dia dia por dia (excepto domingos), las celdas
b1, c1, d1, y siguientes hasta 20 son nombres (de representantes en este
caso). Lo que queda en el cuerpo de la tabla es el volumen de ventas dia
por dia de cada uno. Quiero hacer un grafico de cada uno de ellos que se
actualice automaticamente al introducir los datos correspondientes de cada
dia.
De momento selecciono la columna fecha y la del que quiero graficar y
pulso f11. Obtengo en el acto el grafico que quiero, pero al actualizar
los
datos no se actualiza y me gustaria no tener que crearlo cada vez.

Puede ayudarme alguien?. Gracias por anticipado.



Respuesta Responder a este mensaje
#2 martin
06/01/2005 - 17:20 | Informe spam
Gracias KL, pero no funciona. Lo hago, y supongo que esta bien, puesto que
la hoja se llama hoja1 y el grafico, grafico1, pero doy f11, tengo el
grafico y al añadir datos del dia en la siguiente fila sale:

Se ha producido el error 9 en tiempo de ejecucion

Subindice fuera del intervalo

Al depurar se para en:

Set Graf = .Charts("Grafico1")


¿cual es el problema'

Gracias otra vez







Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim Rng As Range
Dim Graf As Chart

With ThisWorkbook
Set Hoja = .Worksheets("Hoja1")
Set Graf = .Charts("Grafico1")
Set Rng = Intersect(Hoja.UsedRange, Hoja.Range("A:U"))
End With

If Not Rng Is Nothing Then Graf.SetSourceData Source:=Rng
End Sub
Respuesta Responder a este mensaje
#3 KL
06/01/2005 - 17:33 | Informe spam
martin,

Lo primero a comprobar es el nombre del grafico: mira a ver si el tuyo se
llama "grafico1" y no "grafico1" o "grafico 1" o "grafico 1" , etc. Mejor,
copia el nombre de la hoja del grafico al codigo. Entiendo q tambien queda
confirmado q el grafico es una hoja en si y no un objeto dentro de una hoja
de calculo, si no, este podria ser el problema.

Saludos,
Kl

"martin" wrote in message
news:
Gracias KL, pero no funciona. Lo hago, y supongo que esta bien, puesto que
la hoja se llama hoja1 y el grafico, grafico1, pero doy f11, tengo el
grafico y al añadir datos del dia en la siguiente fila sale:

Se ha producido el error 9 en tiempo de ejecucion

Subindice fuera del intervalo

Al depurar se para en:

Set Graf = .Charts("Grafico1")


¿cual es el problema'

Gracias otra vez







Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim Rng As Range
Dim Graf As Chart

With ThisWorkbook
Set Hoja = .Worksheets("Hoja1")
Set Graf = .Charts("Grafico1")
Set Rng = Intersect(Hoja.UsedRange, Hoja.Range("A:U"))
End With

If Not Rng Is Nothing Then Graf.SetSourceData Source:=Rng
End Sub



Respuesta Responder a este mensaje
#4 martin
06/01/2005 - 18:09 | Informe spam
Gracias Kl por tu atencion,

En efecto, era el acento de la palabra grafico. Ahora funciona, pero no
solo se actualiza el grafico de los datos de la columna seleccionada; Se
actualiza el grafico 1, pero lo hace con todas las series en el mismo
chart, de modo que sale un lio de lineas. Yo lo que queria era tener una
pestaña-grafico para cada columna que se actualizase cada vez que
añadiera los datos de cada vendedor a la tabla cada dia, y tener un
grafico de cada vendedoralguna ayuda?

saludos y gracias otra vez,

martin




martin,

Lo primero a comprobar es el nombre del grafico: mira a ver si el tuyo
se llama "grafico1" y no "grafico1" o "grafico 1" o "grafico 1" ,
etc. Mejor, copia el nombre de la hoja del grafico al codigo. Entiendo
q tambien queda confirmado q el grafico es una hoja en si y no un
objeto dentro de una hoja de calculo, si no, este podria ser el
problema.

Saludos,
Kl

"martin" wrote in message
news:
Gracias KL, pero no funciona. Lo hago, y supongo que esta bien,
puesto que la hoja se llama hoja1 y el grafico, grafico1, pero doy
f11, tengo el grafico y al añadir datos del dia en la siguiente fila
sale:

Se ha producido el error 9 en tiempo de ejecucion

Subindice fuera del intervalo

Al depurar se para en:

Set Graf = .Charts("Grafico1")


¿cual es el problema'

Gracias otra vez







Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim Rng As Range
Dim Graf As Chart

With ThisWorkbook
Set Hoja = .Worksheets("Hoja1")
Set Graf = .Charts("Grafico1")
Set Rng = Intersect(Hoja.UsedRange, Hoja.Range("A:U"))
End With

If Not Rng Is Nothing Then Graf.SetSourceData Source:=Rng
End Sub







Respuesta Responder a este mensaje
#5 KL
06/01/2005 - 19:23 | Informe spam
martin,

Ya me preguntaba yo como ibas a distinguir 20 lineas con 95 puntos cada en
un grafico porque te habia entendido asi. Bueno dame unos 5 min y te escribo
otro codigo.

Saludos,
KL


"martin" wrote in message
news:
Gracias Kl por tu atencion,

En efecto, era el acento de la palabra grafico. Ahora funciona, pero no
solo se actualiza el grafico de los datos de la columna seleccionada; Se
actualiza el grafico 1, pero lo hace con todas las series en el mismo
chart, de modo que sale un lio de lineas. Yo lo que queria era tener una
pestaña-grafico para cada columna que se actualizase cada vez que
añadiera los datos de cada vendedor a la tabla cada dia, y tener un
grafico de cada vendedoralguna ayuda?

saludos y gracias otra vez,

martin




martin,

Lo primero a comprobar es el nombre del grafico: mira a ver si el tuyo
se llama "grafico1" y no "grafico1" o "grafico 1" o "grafico 1" ,
etc. Mejor, copia el nombre de la hoja del grafico al codigo. Entiendo
q tambien queda confirmado q el grafico es una hoja en si y no un
objeto dentro de una hoja de calculo, si no, este podria ser el
problema.

Saludos,
Kl

"martin" wrote in message
news:
Gracias KL, pero no funciona. Lo hago, y supongo que esta bien,
puesto que la hoja se llama hoja1 y el grafico, grafico1, pero doy
f11, tengo el grafico y al añadir datos del dia en la siguiente fila
sale:

Se ha producido el error 9 en tiempo de ejecucion

Subindice fuera del intervalo

Al depurar se para en:

Set Graf = .Charts("Grafico1")


¿cual es el problema'

Gracias otra vez







Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As Worksheet
Dim Rng As Range
Dim Graf As Chart

With ThisWorkbook
Set Hoja = .Worksheets("Hoja1")
Set Graf = .Charts("Grafico1")
Set Rng = Intersect(Hoja.UsedRange, Hoja.Range("A:U"))
End With

If Not Rng Is Nothing Then Graf.SetSourceData Source:=Rng
End Sub










Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida