[英]Changing data source of chart in powerpoint vba
我在 PowerPoint 中有一個條形圖,想要根據我在 ComboBox 中的選擇來選擇行(類別 1 - 4,請參閱屏幕截圖1 )。 到目前為止,這是我的代碼:
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-Sheet 時,我不知道如何選擇源數據。 PowerPoint 中只有插入圖表時生成的“Excel-Sheet”。
您的圖表包含在Shape
對象中,您可以通過Shape.Chart.ChartData.Workbook.Sheets(1)
訪問源數據,正如本答案所建議的那樣。
我從您的問題中了解到您希望圖表僅顯示所選類別。 您可以隱藏源數據中不想顯示的行,它們將隱藏在圖表中。
這將使用類別 1-4 填充ComboBox1
。
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
截屏
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.