¿Cómo hago para que Microsoft Excel actualice las gráficas al filtrar datos?

Hola, te pregunte acerca de como hacer para que filtrando unos datos en excel se me actualizara el gráfico, y sí, es filtro automático. Funciona bien. Pero el problema está en que suponemos que cada día vamos añadiendo datos entonces ya como están fuera del rango cogido para el gráfico no los coge. ¿Cómo puedo hacer que me los coja con el botón de actualizar que me dijiste funcionaría? Es que no entendí muy bien lo de como coger el rango programando.
Si puedes ayudarme te lo agradecería.
Aurora.
Respuesta
1
Solamente recordarte que si no entiendes las respuestas, vuelves a preguntar, y no pasa nada. No es necesario que las finalices si tienes dudas.
Por otro lado, para tu problema, no le veo otra solución que utilizar código.
Para utilizar un código, dibújate un rectángulo, o un botón con las herramientas de dibujo. También vale un cuadro de texto. Cualquier objeto al que le puedas asociar una macro.
Después presiona Alt+F11 y donde pone Microsoft Excel Objetos (arriba a la izquierda) haces click derecho, e Insertas un Módulo. En el módulo incluyes esto:
Sub Actualizar()
Dim rango As Variant
rango = "A1:" & Range("A1").End(xlToRight).End(xlDown).Address(False, False)
ActiveSheet.ChartObjects("Gráfico 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets("Hoja1").Range(rango), PlotBy:=xlColumns
End Sub
Cierras la ventana, y haces click derecho en tu rectángulo-botón, y seleccionas Asignar/Macro, eligiendo la que acabas de grabar (Actualizar).
Si tus datos de origen comienzan en A1, cuando hayas incluido más datos, haces click en el rectángulo-botón y te seleccionará los datos.
Pregúntame si no te sale.
Un saludo,
Hola muchas gracias por el código, lo he probado y me actualizaba pero ahora me da un error:
"imposible obtener la propiedad chartobjets de la clase worksheet"
De todas formas tranquilo que yo programo en vba (lo que se) lo que no entendía era lo del rango, es que claro ademas de hacer quiero saber lo que hago no hacer por hacer ¿entiendes?.
Bueno el caso es que me da ese error y no me sale.
¿Volviendo al tema del gráfico así me sale del rango tal hasta que encuentre datos pero el problema es que si solo quiero algunos datos (columnas) de ese gráfico como lo hago?
A tu primera pregunta, probablemente haya ocurrido que probando hayas insertado un par de gráficos, y el que ahora estás actualizando no sea "Gráfico 1" sino probablemente "Gráfico 2" o "Gráfico 3".
Para saber el nombre del gráfico que estás utilizando puedes grabar una macro automática en la que intervenga el gráfico, y por el código sabrás su nombre.
Para la segunda pregunta, lo que hace el código es desplazarse hasta la derecha y después hasta abajo, hasta donde no haya más datos.
Si ya sabes exactamente el número de columnas que quieres utilizar, en lugar de End(xlToRight) deberás utilizar Offset(0, n) siendo "n" el número de columnas que incluyen datos.
Espero habértelo aclarado un poco mejor.
Un saludillo,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas