在powerpoint vba中更改图表的数据源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在powerpoint vba中更改图表的数据源相关的知识,希望对你有一定的参考价值。
我在PowerPoint中有一个条形图,想要选择行(类别1 - 4,请参阅屏幕截图1),具体取决于我在ComboBox中的选择。这是我的代码到目前为止:
Private Sub ComboBox1_Change()
With SlideShowWindows(1).View
Select Case ComboBox1.Value
Case "Category 1"
Case "Category 2"
Case Else
End Select
End With
End Sub
当没有单独的Excel工作表时,我不知道如何选择源数据。在插入Diagramm时生成的PowerPoint中只有“Excel-Sheet”。
答案
您的图表包含在Shape
对象中,您可以通过Shape.Chart.ChartData.Workbook.Sheets(1)
访问源数据,正如this answer建议的那样。
我通过您的问题理解您希望图表仅显示所选的类别。您可以隐藏不希望在源数据中显示的行,它们将隐藏在图表中。
这将填充ComboBox1
类别1-4。
Private Sub ComboBox1_DropButtonClick()
With ComboBox1
If .ListCount = 0 Then
.AddItem "Category 1", 0
.AddItem "Category 2", 1
.AddItem "Category 3", 2
.AddItem "Category 4", 3
End If
End With
End Sub
然后你可以隐藏你不希望用这样的东西显示的行。
Private Sub ComboBox1_Change()
Dim shp As Shape: Set shp = ActivePresentation.SlideShowWindow.View.Slide.Shapes("Chart 3") ' Change to your chart name here
Dim rw As Integer, j As Integer
Select Case ComboBox1.Value
Case "Category 1"
rw = 2
Case "Category 2"
rw = 3
Case "Category 3"
rw = 4
Case "Category 4"
rw = 5
Case Else
Exit Sub
End Select
For j = 2 To 5
shp.Chart.ChartData.Workbook.sheets(1).Rows(j).Hidden = (j <> rw)
Next j
End Sub
截图
以上是关于在powerpoint vba中更改图表的数据源的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 将 Excel 中的图表嵌入到 Powerpoint 中的指定占位符中
vbscript 调整演示文稿[PowerPoint VBA]中的所有图表的大小和重新定位