我希望能够使用自己的Excel工作簿在PowerPoint中创建饼图。到目前为止,我已经创建了一个VBA脚本来添加图表。我还更改了图表的数据表,如下所示: Problem
以下核心问题仍然存在:
由于饼图的默认值属于这些范围,因此PowerPoint默认设置这些范围。如果我的数据表包含更多(或等于)4行数据,那么它就不会那么糟糕,因为范围会自动增加。但是,如示例所示,当只有3行数据时,范围不适应。
我想要的是:Needed(我只知道如何将数据放在正确的位置,而不是如何选择它)
相关的VBA代码如下:
Set diaPie = pres.Slides(3).Shapes.AddChart2(2, xlPie).Chart
Set pieChartData = diaPie.ChartData
Set pieWorkbook = pieChartData.Workbook
Set pieWorksheet = pieWorkbook.Worksheets(1)
pieWorksheet.UsedRange.Clear
With dataWorksheet
id = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
a = dataWorksheet.Range("A1", dataWorksheet.Range("A1").Offset(id, 0))
b = dataWorksheet.Range("B1", dataWorksheet.Range("B1").Offset(id, 0))
pieWorksheet.Range("A2", pieWorksheet.Range("A2").Offset(id, 0)) = a
pieWorksheet.Range("B2", pieWorksheet.Range("B2").Offset(id, 0)) = b
提前致谢!
答案 0 :(得分:0)
这应该会更改数据表中的数据范围。 maxrow只是数据的结尾。因此,如果您的数据在B1:B4中,则maxrow将为4
diaPie.SeriesCollection(1).values = "Sheet1!$B$1:$B" & maxrow ' change the series range before opening and closing the workbook object
diaPie.SeriesCollection(1).XValues = "Sheet1!$A$1:$A" & maxrow 'Labels