我有一个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
答案 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