VBA-excel粘贴图表作为图片(VBA-excel paste chart as a picture)

我正在创建来自同一个源的各种图表。 我希望能够将每个图表的粘贴剪切为图片。 有谁知道正确的代码?

我试过这个,但它不起作用:

Range("B21:C22").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Graphs'!$B$21:$C$22") ActiveChart.ChartType = xl3DPie ActiveChart.ChartArea.Select ActiveChart.ChartArea.Copy ActiveSheet.Pictures.Paste.Select

I am creating various charts from the same source. I would like to be able to cut paste with vba each chart as a picture. Does anyone know the right code?

I tried with this but it does not work:

Range("B21:C22").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Range("'Graphs'!$B$21:$C$22") ActiveChart.ChartType = xl3DPie ActiveChart.ChartArea.Select ActiveChart.ChartArea.Copy ActiveSheet.Pictures.Paste.Select

最满意答案

我总是发现复制图表令人困惑,但是这样做是你想要的,我想,并且不使用任何Selects ,这总是很好。

Sub CreateAndCopyChart() Dim ws As Worksheet Dim cht As Chart Set ws = ThisWorkbook.Worksheets("Graphs") Set cht = ws.Shapes.AddChart.Chart With cht .SetSourceData ws.Range("$B$21:$C$22") .ChartType = xl3DPie .ChartArea.Copy End With ws.Range("A2").PasteSpecial xlPasteValues cht.Parent.Delete End Sub

I always find copying charts confusing, but this does what you want, I think, and doesn't use any Selects, which is always nice.

Sub CreateAndCopyChart() Dim ws As Worksheet Dim cht As Chart Set ws = ThisWorkbook.Worksheets("Graphs") Set cht = ws.Shapes.AddChart.Chart With cht .SetSourceData ws.Range("$B$21:$C$22") .ChartType = xl3DPie .ChartArea.Copy End With ws.Range("A2").PasteSpecial xlPasteValues cht.Parent.Delete End Sub

更多推荐