Cargar un Gráfico a una image dentro de un MultiPage que se encuentra en un userform.

Como pueden ver en la imagen, tengo el userform3 el cual contiene MultiPage que tiene 2 páginas. Cada una de estas páginas contiene una image. Pretendía que en la image1ubicada en la pagina1 del MultiPage (gráfico de barras) me llame el "4 gráfico" que tengo en la hoja4 del libro de Excel.

Y la image2 ubicada en la pagina2 del MultiPage (gráfico lineal) me llame el "5 Gráfico"

Esto pretendía conseguirlo con el siguiente código:

Private Sub UserForm_Initialize()

Set graficoactivo = Sheets("Hoja4").ChartObjects(1).Chart

NombreGIF = ThisWorkbook.Path & "\temporal.gif"

alto = Sheets("Hoja4").Shapes("4 Gráfico").Height

ancho = Sheets("Hoja4").Shapes("4 Gráfico").Width

UserForm3.Image1.Height = alto

UserForm3.Image1.Width = ancho

base = UserForm3.Width

altura = UserForm3.Height

UserForm3.Image1.Top = (altura - alto) / 2

UserForm3.Image1.Left = (base - ancho) / 2

graficoactivo.Export Filename:=NombreGIF, FilterName:="GIF"

UserForm3.Image1.Picture = LoadPicture(NombreGIF)

'------------------------------------------------------

Set graficoactivo = Sheets("Hoja4").ChartObjects(1).Chart

NombreGIF = ThisWorkbook.Path & "\temporal.gif"

alto = Sheets("Hoja4").Shapes("5 Gráfico").Height

ancho = Sheets("Hoja4").Shapes("5 Gráfico").Width

UserForm3.Image2.Height = alto

UserForm3.Image2.Width = ancho

base = UserForm3.Width

altura = UserForm3.Height

UserForm3.Image2.Top = (altura - alto) / 2

UserForm3.Image2.Left = (base - ancho) / 2

graficoactivo.Export Filename:=NombreGIF, FilterName:="GIF"

UserForm3.Image2.Picture = LoadPicture(NombreGIF)

End Sub

Y en efecto la image1 me llamo el 4 gráfico, PERO la image2 me sigue llamando el mismo 4 gráfico.

Expertos, muchas gracias por su disposición para ayudar. No está de más mencionar que mis conocimientos en Vb no son los mejores.

1 Respuesta

Respuesta
1

En la primer línea tienes el número 1 en CharObjects

Set graficoactivo = Sheets("Hoja4").ChartObjects(1).Chart

En la segunda línea tienes que poner el número 2

Set graficoactivo = Sheets("Hoja4").ChartObjects(2).Chart


Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas