簡體   English   中英

在powerpoint vba中更改圖表的數據源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM