Option Explicit
Sub Chart_Pics()
Dim n As Integer, i As Integer
Dim ChgCell As Range, OutCell As Range
Dim AllCharts As ShapeRange
Set AllCharts = ActiveSheet.ChartObjects.ShapeRange
AllCharts.Select
Set ChgCell = Range("VBA_ChgCell")
Set OutCell = Range("VBA_OutCell")
n = Range("VBA_n").Value
Call Del_Pics
For i = 1 To n
ChgCell.Value = i
AllCharts.Select
Selection.CopyPicture _
Appearance:=xlScreen, _
Format:=xlPicture
OutCell.Offset((i - 1) * 14, 0).Select
Selection.Offset(1, -1).Value = i
ActiveSheet.Paste
Next i
ChgCell.Value = 1
End Sub
Sub Del_Pics()
Dim shp As Shape, r As Long, c As Long, OutCell As Range
For Each shp In ActiveSheet.Shapes
If shp.Name Like "Picture*" Then
shp.Delete
End If
Next shp
Set OutCell = Range("VBA_OutCell")
r = OutCell.Row
c = OutCell.Column - 1
Range(Cells(r, c), Cells(65536, c)).ClearContents
End Sub