Sub SalvamImageFoglio() Dim wsSheet As Worksheet, oRange As Range, oCht As Chart, oImg As Picture Application.ScreenUpdating = False Application.DisplayAlerts = False Set oRange = Range("A1:E30") '<<<< range da salvare VARIARE Set oCht = Charts.Add oRange.CopyPicture xlScreen, xlPicture oCht.Paste filepath = "c:\miacartella\" 'dove salvare l'immagime <<<< VARIARE ActiveSheet.Export Filename:=filepath & "MyPic.jpg", FilterName:="jpg" '<<<< VARIARE NOME ActiveSheet.Delete Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "creato file" End Sub
Sub SalvaImmaginediFoglio() Dim wsSheet As Worksheet, oRange As Range, oCht As Chart, oImg As Picture Application.ScreenUpdating = False Application.DisplayAlerts = False Set ws = Worksheets("Grafico") Set oRange = Range("A1:O48") '<<<< range da salvare VARIARE Set oCht = Charts.Add oRange.CopyPicture xlScreen, xlPicture oCht.Paste filepath = "C:\Users\energia\Desktop\" 'dove salvare l'immagime <<<< VARIARE ActiveSheet.Export Filename:=filepath & "Foglio1.jpg", FilterName:="jpg" '<<<< VARIARE NOME ActiveSheet.Delete Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "Foglio1 creato" End Sub
Sub mImage() Dim wsSheet As Worksheet, oRange As Range, oCht As Chart, oImg As Picture Application.ScreenUpdating = False On Error Resume Next Sheets("mGraf").Select If ActiveSheet.Name = "mGraf" Then Application.DisplayAlerts = False ActiveWindow.SelectedSheets.Delete Application.DisplayAlerts = True End If Set oRange = Range("A1:O48") '<<<< VARIARE Set oCht = Charts.Add oCht.Name = "mGraf" oRange.CopyPicture xlScreen, xlPicture oCht.Paste ActiveChart.Shapes("Picture 1").Select Selection.Copy Sheets("Foglio1").Select ' <<<< Tuo foglio con range da salvare ActiveSheet.Paste Sheets("mGraf").Select Application.DisplayAlerts = False ActiveWindow.SelectedSheets.Delete Application.DisplayAlerts = True SaveImages ActiveSheet.Pictures.Delete Application.ScreenUpdating = True End Sub Sub SaveImages() Dim shp As Shape, ImageName As String, Temp As Object, tArea As Object, x As Long Application.ScreenUpdating = False For Each shp In ActiveSheet.Shapes If shp.Type = msoPicture Then x = x + 1 ImageName = "Foglio1" ' Nome file jpg shp.Select Application.Selection.CopyPicture Set Temp = ActiveSheet.ChartObjects.Add(0, 0, shp.Width, shp.Height) Set tArea = Temp.Chart Temp.Activate With tArea .ChartArea.Select .Paste .Export ("C:\Users\energia\Desktop\" & ImageName & ".jpg") End With Temp.Delete DoEvents End If Next End Sub