如何使用VBA调整PowerPoint图表中的数据选择范围

时间:2018-11-02 02:07:44

标签: excel vba powerpoint

我有一个VBA代码,该代码可以从Excel复制一些数据,然后将数据粘贴到PowerPoint中以创建条形图。它通过将数据粘贴到条形图excel表格中来实现此目的。我遇到的问题是粘贴到Powerpoint图表的数据大小会有所不同,因此我想确保Powerpoint图表将包含全部内容。

这里是将数据从excel复制到powerpoint的代码示例。复制和粘贴效果很好。我只是不知道如何更改数据选择范围

Thisworkbook.sheets("ws").Range("AF6:AJ6").select
Range(Selection, Selection.End(xlDown).Select
selection.Copy
With ppslide.Shapes("Chart").Chart.ChartData
.Activate
.workbook.Sheet(1).Range("A2").PasteSpecial Paste:=xlPasteValues
.workbook.close

1 个答案:

答案 0 :(得分:0)

使用Chart的{​​{3}}方法。

可能看起来像这样:

With ppslide.Shapes("Chart").Chart
    With .ChartData.Workbook.Worksheets(1)
        .Range("A2").PasteSpecial Paste:=xlPasteValues

        Dim lastRow as Long
        lastRow = .Cells(.Rows.Count, "E").End(xlUp).Row

        Dim dataAddress as String
        dataAddress = .Range(.Cells(1, 1), .Cells(lastRow, "E")).Address(External:=True)
    End With

    .SetSourceData dataAddress
End With

您可能 可以使用UsedRange进行简化(似乎可以使用,但尚未经过全面测试):

With ppslide.Shapes("Chart").Chart
    With .ChartData.Workbook.Worksheets(1)
        .Range("A2").PasteSpecial Paste:=xlPasteValues

        Dim dataAddress as String
        dataAddress = .UsedRange.Address(External:=True)
    End With

    .SetSourceData dataAddress
End With