删除图表图片而不删除图表

时间:2016-03-14 17:07:48

标签: excel image vba charts

在尝试将作为图片的范围导出到userform时,我有以下内容:

FolderPath = ThisWorkbook.Path & "\dbfiles"
If ComboBox3.Value = "Cube" Then
    With Worksheets("Form")
        Set r = .Range("AE21:AM52")
        r.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
        Set chtO = .ChartObjects("Chart 4")
    End With
    With chtO.Chart

        .Paste
        .Export Filename:=FolderPath & "\temppic.bmp", FilterName:="BMP"
    End With

问题在于,当代码运行并且图表区域中已有图片时,新的粘贴'大小不同,不填充图表区域。我需要这样做,所以图片与我的用户窗体上的其他对象对齐。我发现如果我手动删除图片但离开图表(点击,按删除),一切正常。所以我的问题是,你如何务实地做到这一点?我已经尝试过。删除差距无济于事。 (删除object_chart的方法失败)提前感谢。

1 个答案:

答案 0 :(得分:1)

With chtO.Chart
    Do While .Shapes.Count > 0
        .Shapes(1).Delete
    Loop
    .Paste
    .Export Filename:=FolderPath & "\temppic.bmp", FilterName:="BMP"
End With