Excel - Seleccionar fila del ListBox y muestre Gráfico

 
Vista:
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 01/07/2023 08:45:13
Hola, tengo un ListBox cargado con registros, quiero que al seleccionar un registro se cree un gráfico en el Frame3 y así sucesivamente. Por ahora no sé cómo arrancar con el código.
El Archivo ya tiene el código donde el Formulario se activa al seleccionar la celda V1 de la Hoja (“Buscar”), al seleccionar el OptionButton1 se cargan los registros en el ListBox

El gráfico debería mostrarse así.



Ejemplo-de-Grafico
Ejemplo-de-Grafico
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Antoni Masana (2478 intervenciones) el 01/07/2023 13:45:30
El Excel no tiene un objeto para poner gráficos para el formulário.
Hay un truco que es crear un grafico en la hoja y copiarlo en el formulário.

Existen varias páginas que explican como hacerlo. Puedes buscar en GOOGLE: "excel vba gráfico en userform"

https://www.youtube.com/watch?v=QmZFi2-U8XU

https://blog.excelforo.com/2013/02/vba-cargar-un-grafico-en-un-formulario.html

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 03/07/2023 10:26:09
Estimado, ya adapté el código para que me muestre el Gráfico cuando hago doble clik en la Hoja(“Buscar”).

Funciona de la siguiente manera; cuando hago clik en celda AK1 se muestra el formulario y al hacer doble Clik en ListBox carga el registro de datos en las celdas (“AI2, AO2”) y se crea un gráfico que lo convierte en imagen para cargar al control Image1 del formulario, una vez que se carga el gráfico en formulario este automáticamente se elimina de la Hoja y del archivo GIF. Y así con cada registro que se seleccione del ListBox.
Sin embargo, lo ideal es que el gráfico se cargue cuando estoy ubicado en la parte inicial de la Hoja(“Buscar”) para hacer Clik en V1 y se cargue el formulario, hasta ahí todo bien, pero la hacer Doble Clik en el ListBox para cargar el gráfico me marca error “Se ha producido el error ‘481’ en tiempo de ejecución: Imagen no valida”

Otro detalle me gustaría que el tamaño de la imagen del gráfico se acomode automáticamente al tamaño del control Image1

Envío Archivo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 04/07/2023 10:53:57
Estimados, ya consegui que muestre el Gráfico cuando hago doble clik en una fila del ListBox en la Hoja(“Buscar”).
Lo único que hasta ahora no lo consigo es que el tamaño de la imagen del gráfico se acomode automáticamente al tamaño del control Image1
En la ventana de propiedades modifique el PictureSizeMode = fmPictureSizeModeStretch para que la imagen se acomode en todo el ancho y altura del control Image1 pero el problema es que la imagen queda deforme, por eso necesito solucionar eso con código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Antoni Masana (2478 intervenciones) el 04/07/2023 16:04:16
Para que la imagen quede bien en el formulario hay que redimensionar el gráfico antes de crear la imagen.

Solo he realizado 2 cosas:
- Ampliar el objeto imagen
- Redimensionar el grafico para que se ajuste al formulario con estas dos instrucciones:

1
2
ActiveSheet.Shapes("Ventas").ScaleWidth 1.17, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Ventas").ScaleHeight 0.95713467, msoFalse, msoScaleFromTopLeft

Adjunto libro.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 04/07/2023 21:24:48
Hola Antoni, lo siguiente:
En el último Archivo que envíe el Gráfico se mostraba de la siguiente manera.


Grafico1

En el Archivo que envíaste ahora el Gráfico se muestra distinto, la idea es que mantenga los datos originales.


Grafico2

Ademas la idea es que el Formulario y el control Image1 mantenga su tamaño original. Lo que se quiere es que la imagen del Gráfico se acomode al ancho y altura del control Image1

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 05/07/2023 00:16:53
Antoni, la idea es que el Formulario y el control Image1 mantenga su tamaño original. El que debe adaptarse al tamaño del Formulario y control Image1 es el Gráfico.

Grafico-3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 05/07/2023 03:28:01
Estoy tratando de hacerlo a traves de zoom con codigo, pero me marca error el código que trato de implementar.

'Zoom al Alto y Ancho del Gráfico
With CH
'.Axes(xlCategory).MaximumScale = 10
.Axes(xlCategory).MaximumScale = 100
.Axes(xlValue).MinimumScale = 10
'.Axes(xlValue).MaximumScale = 100
End With

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 05/07/2023 09:42:19
En la ventana de propiedades modifique el PictureSizeMode = fmPictureSizeModeStretch para que la imagen se acomode en todo el ancho y altura del control Image1 pero el problema es que la imagen queda borrosa, por eso quiero ver la posibilidad que se pueda solucionar con código.

En la Hoja ("Buscar") cuando manualmente se extiende el Grafico no se ve borroso, por eso creo que con código debiera verse nítido el ZOOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 257
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Juan (184 intervenciones) el 05/07/2023 09:59:12
Estimado Antoni, en todo caso le daré la otra solución que es acomodar el control Image1 al tamaño del gráfico. Igual quedaría solucionado porque la idea es que el gráfico no pierda nitidez.

Muchas gracias por tu aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Seleccionar fila del ListBox y muestre Gráfico

Publicado por Antoni Masana (2478 intervenciones) el 05/07/2023 11:49:49
Aquí tienes dos cosas diferentes.
Para el ojo humano parece lo mismo pero no lo es, uno el gráfico y dos la imagen del gráfico.
Cuando modificas el tamaño del gráfico Excel se encarga de ajustar el contenido con mayor o menor éxito.
Cuando modificas el tamaño de la imagen, esta se distorsiona.
Lo cual significa que debes ajustar el tamaño del gráfico y después el tamaño del objeto Image1 a la imagen.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar