Apresentação de grá...
 
Notifications
Clear all

Apresentação de gráficos na Image Userform

8 Posts
5 Usuários
0 Reactions
2,950 Visualizações
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Prezados,

Eu desenvolvi um sistema de controle de despesas pessoais. O mesmo apresenta os seus gráficos/indicadores a partir por meio das userform's. Para isso, utilizo o seguinte código:

Dim ChartNum As Integer
Private Sub UserForm_Initialize()
ChartNum = 1
UpdateChart
End Sub

Private Sub UpdateChart()

Set CurrentChart = Sheets("G").ChartObjects(ChartNum).Chart
CurrentChart.Parent.Width = 419
CurrentChart.Parent.Height = 232
' Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Show the chart
Image1.Picture = LoadPicture(Fname)

End Sub

Isso funciona perfeitamente no excel 2007, mas no 2010 e 2013 da o seguinte erro:

Erro em tempo de execução '481':

Figura inválida

Pesquisei na internet a solução deste problema. Encontrei um tópico a cerca disso, mas não consegui resolver a minha necessidade, vejam abaixo:

http://www.ozgrid.com/forum/showthread.php?t=170965

Alguém pode ajudar-me?

 
Postado : 25/06/2014 2:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tem como postar seu arquivo modelo?

No caso da postagem do link, o usuário que pede ajuda estava referenciando errado ao objeto!

Att

 
Postado : 25/06/2014 2:15 pm
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Boa tarde!!

Tem como postar seu arquivo modelo?

No caso da postagem do link, o usuário que pede ajuda estava referenciando errado ao objeto!

Att

Alexandre,

O arquivo tem 4 megas.

É, o problema dele é, de fato, igual o meu.

 
Postado : 26/06/2014 4:39 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Buscando ser mais claro, envio-lhes a imagem do erro referido, vejam abaixo:

É o seguinte, como mencionado anteriormente, ressalto que, não sei por qual motivo, o meu projeto só apresenta este erro caso o mesmo for executado nas versões 2010 e 2013 do excel.

Mas, em contrapartida, mesmo executando-o nestas versões, se eu selecionar, manualmente, a sheets que possui o gráfico e, depois disso, executar a userform que o carrega, tudo funciona perfeitamente e o erro só volta a acontecer quando eu fechar e abrir o workbook.

 
Postado : 26/06/2014 5:30 am
(@reysson)
Posts: 2
New Member
 

Pessoal,

Estou com o mesmo problema, ao sair da planilha e voltar novamente ocorre o erro...
Alguem pode ajudar?
Em anexo a planilha.

 
Postado : 25/07/2014 1:25 pm
(@arnoldo)
Posts: 0
New Member
 

Olá amigos,

Para contornar esse bug da Microsoft, basta incluir no seu código a seguinte linha, e adequala ao seu arquivo

Sheets("NomeDaPlanilha").Select
ActiveSheet.ChartObjects("Gráfico 15").Activate
ActiveChart.PlotArea.Select 'O detalha é Selecionar a área de protage.

Obs.: O erro não será mais apresentado.

 
Postado : 03/05/2015 8:26 pm
(@guilhas23)
Posts: 0
New Member
 

Os gráficos ficam "voando" na planilha. Tente colocar apos as figuras dos gráficos, uma célula escrita com qualquer coisa. Aí quando a planilha for carregada, a parte dos gráficos também serão. Comigo deu certo.

 
Postado : 19/05/2015 1:48 pm
(@guilhas23)
Posts: 0
New Member
 

Os gráficos ficam "voando" na planilha. Tente colocar apos as figuras dos gráficos, uma célula escrita com qualquer coisa. Aí quando a planilha for carregada, a parte dos gráficos também serão. Comigo deu certo.

Minha resposta ficou incompleta, corrigindo: Por exemplo, no botão de abrir a janela do gráfico, coloque códigos para registrar alguma palavra ou letra na planilha onde estiver o gráfico, dessa forma ele vai abrir sem o erro.

 
Postado : 20/05/2015 7:54 am