have a look on such sample macro:
Sub test()
Dim i&, allvals, myvalcol As New Collection
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
allvals = Range("B3:B" & Cells(Rows.Count, "B").End(xlUp).Row).Value
On Error Resume Next
For i = 1 To UBound(allvals)
myvalcol.Add allvals(i, 1), allvals(i, 1)
Next i
On Error GoTo 0
For i = 1 To myvalcol.Count
ActiveSheet.Range("A2").CurrentRegion.AutoFilter Field:=2, Criteria1:=myvalcol(i)
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartTitle.Text = myvalcol(i)
ActiveChart.ChartArea.Copy
Cells(2, 6 + 8 * i).Select
ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:= _
False, DisplayAsIcon:=False
Next i
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartTitle.Text = "All"
ActiveSheet.AutoFilterMode = False
Range("A3").Select
End Sub
Bookmarks