Video Aula 02 - Carregando gráfico em formulário do excel - VBA
Videoaula descreve passo a passo como carregar um gráfico em formulário do excel com utilização de código VBA,
segue código...
Private Sub UserForm_Initialize()
Set CurrentChart = Sheets("Plan1").ChartObjects(1).Chart
CurrentChart.Parent.Width = 200
CurrentChart.Parent.Height = 200
'converter objeto de gráfico em imagem gif
nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=nome, filtername:="GIF"
' mostrar grafico como imagem no objeto
image1 Image1.Picture = LoadPicture(nome)
End Sub
COMPLEMENTO: Foi adicionado ao formulário uma combobox, responsável pela seleção dos gráficos.
Da seguinte forma... primeiro foram adicionados 3 gráficos na Plan2 conforme imagem...
Depois clicamos na guia desenvolvedor > Visual Basic e adicionamos um Formulário conforme figura...
adicionamos dois objetos, uma caixa de Listagem ou Combobox e uma Caixa de Imagem ou simplesmente Image. Em vermelho os nomes dos objetos que devem ser inseridos na propriedade dos objetos...
Dando um duplo clique no objeto cmb_grafico adicionamos o seguinte código:
Private Sub cmb_grafico_Click()
If cmb_grafico = "Grafico 01" Then 'faz o teste lógico e insere o gráfico respectivo ao objeto image1
Set CurrentChart = Sheets("Plan2").ChartObjects(1).Chart 'O número 1 se refere ao primeiro grafico inserido na plan2
CurrentChart.Parent.Width = 300
CurrentChart.Parent.Height = 200
'converter objeto de gráfico em imagem gif
nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=nome, filtername:="GIF"
' mostrar grafico como imagem no objeto image1
Image1.Picture = LoadPicture(nome)
ElseIf cmb_grafico = "Grafico 02" Then
Set CurrentChart = Sheets("Plan2").ChartObjects(2).Chart
CurrentChart.Parent.Width = 300
CurrentChart.Parent.Height = 200
'converter objeto de gráfico em imagem gif
nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=nome, filtername:="GIF"
' mostrar grafico como imagem no objeto image1
Image1.Picture = LoadPicture(nome)
Else
Set CurrentChart = Sheets("Plan2").ChartObjects(3).Chart
CurrentChart.Parent.Width = 300
CurrentChart.Parent.Height = 200
'converter objeto de gráfico em imagem gif
nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=nome, filtername:="GIF"
' mostrar grafico como imagem no objeto image1
Image1.Picture = LoadPicture(nome)
End If
End Sub
O seguinte código é adicionado dando um duplo clique em qualquer área livre do Userform e mudando-se o Procedimento de Click para Initiaze...
Private Sub UserForm_Initialize()
cmb_grafico.AddItem ("Grafico 01")
cmb_grafico.AddItem ("Grafico 02")
cmb_grafico.AddItem ("Grafico 03")
End Sub
O formulário funcionando deve ficar da seguinte forma...
Link para Download da planilha: compartilhado via Google Drive
https://docs.google.com/file/d/0B2tBlpeZsUSZVnhCUjhfT0ZTdDg/edit?usp=sharing
Funcionou perfeito até eu compartilhar a planilha ae de ERRO :/ . Sabe oque seria?
ResponderExcluir