Con este código lo puedes hacer, necesitas un Userform1 y un control Image1, una macro puede llamar la Userform. Private Sub UserForm_Initialize() Dim ImagenGraf As Chart Dim Imagen As String Set ImagenGraf = ActiveSheet.ChartObjects(1).Chart Imagen = ThisWorkbook.Path & Application.PathSeparator & "GraficTemp.gif" ImagenGraf.Export Filename:=Imagen, FilterName:="GIF" ActiveSheet.ChartObjects(1).Delete Image1.Picture = LoadPicture(Imagen) Application.ScreenUpdating = True Kill ThisWorkbook.Path & Application.PathSeparator & "GraficTemp.gif" 'Aquí el gráfico se reestablece otra vez, ponle el rango que se asignará en tu hoja. ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Hoja1'!$G$8:$J$11") ActiveChart.ChartType = xlColumnClustered Range("G8").Select End Sub
Me falta poner el control, ¿lo selecciono en el cuadro de herramientas verdad? ¿Y no sabes como se llama ese control? Gracias...
En el proyecto VBA busca el cuadro de herramientas... ahí está el control, al posicionarle el mouse aparece la leyenda Imagen (tiene un dibujo de una montaña y el sol).