Bom dia!!
Veja se isso funciona
Sub ExportPicture()
Dim FiguraAleVBA As Object
Dim MyChart As Object
Dim MySheet As Worksheet
Set MySheet = ActiveSheet
ActiveSheet.Pictures.Insert("http://img.americanas.com.br/produtos/01/00/item/112043/9/112043911_1GG.jpg").Select
Set FiguraAleVBA = Selection
FiguraAleVBA.Copy
Dim PicHeigh As Double
Dim PicWidth As Double
With FiguraAleVBA
PicHeight = .ShapeRange.Height
PicWidth = .ShapeRange.Width
End With
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:=MySheet.Name
Set MyChart = ActiveSheet.Shapes(Selection.Name & " " & Split(ActiveChart.Name, " ")(2))
With MyChart
.Width = PicWidth
.Height = PicHeight
End With
With ActiveSheet
With ActiveChart
.ChartArea.Select
.Paste
End With
.ChartObjects(1).Chart.Export Filename:="C:UsersalexandreDownloadsFiguraAleVBA.jpg", FilterName:="jpg" '<--Mude Seu diretótio porr aqui
End With
MyChart.Delete
FiguraAleVBA.Delete
End Sub
Olá Alexandre!
Perfeito! Estamos quase lá! A imagem está sendo importada para dentro da planilha, porém um gráfico é criado no momento em que o código chega em
"ActiveChart.Location Where:=xlLocationAsObject, Name:=MySheet.Name "
e achei isto estranho. É correto isto?
Muito obrigado pela sua atenção neste assunto.
Att.
Eduardo.
Postado : 31/03/2013 7:43 pm