[Tamaño de gráfico generado por mi VBA de Excel]
helene
-
Thibault56 -
Thibault56 -
Hola,
tengo una macro que genera gráficos automáticamente. Sin embargo, el tamaño de la ventana gráfica que me imponen no me conviene.
Con el grabador de macros, encontré para modificar el tamaño:
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Graphique 22").ScaleWidth 1.39, msoFalse, _
msoScaleFromTopLeft
Sin embargo, como genero varios gráficos en la misma hoja, nunca sé cuál es el número del gráfico creado.
Me gustaría, por tanto, reemplazar en estas pocas líneas, el "Graphique22" por un término genérico que haga que el tamaño del gráfico seleccionado (aquel que estoy creando) se modifique.
¡gracias por vuestra ayuda!
tengo una macro que genera gráficos automáticamente. Sin embargo, el tamaño de la ventana gráfica que me imponen no me conviene.
Con el grabador de macros, encontré para modificar el tamaño:
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Graphique 22").ScaleWidth 1.39, msoFalse, _
msoScaleFromTopLeft
Sin embargo, como genero varios gráficos en la misma hoja, nunca sé cuál es el número del gráfico creado.
Me gustaría, por tanto, reemplazar en estas pocas líneas, el "Graphique22" por un término genérico que haga que el tamaño del gráfico seleccionado (aquel que estoy creando) se modifique.
¡gracias por vuestra ayuda!
Configuración: Windows XP Internet Explorer 6.0
2 respuestas
-
Hola,
He tenido el mismo problema que tú, para responder a tu pregunta, puedes llamar al último gráfico creado mediante la opción ActiveSheet.Shapes.Count; este número devuelve la cantidad de gráficos, así que el número del último directamente si llamas a:
ActiveSheet.Shapes(ActiveSheet.Shapes.Count).ScaleWidth 1 etc...
¡Saludos! -
Este problema es bastante común. aquí una solución que he adoptado:
Contamos la cantidad de gráficos en la hoja para poder renombrar el último que se creó
'--Renombrado del gráfico para automatización
NbGraph = ActiveSheet.ChartObjects.Count 'Cuenta la cantidad de gráficos en la hoja
Luego se selecciona el último creado y se le asigna el nombre que se desea (que puede cambiar si creas varios gráficos)
ActiveSheet.ChartObjects(NbGraph).Name = "Graph_erreur_" & i 'Da el nombre al gráfico con i que cambia para cada gráfico