首页 文章

使用下拉列表更改图表数据范围(vba)

提问于
浏览
1

我正在尝试使用下拉列表(vba)更改图表数据范围 . 这是我的代码:

Sub SelectTable()

With ActiveSheet.Shapes(Application.Caller).ControlFormat
    If ActiveSheet.Shapes(Application.Caller).Name = "Drop Down 2" Then
    Worksheets("Comparison").ChartObjects("Chart 8").Chart.SetSourceData Source:= _
    Range(.List(.Value) & "[#All]")
    Worksheets("Comparison").ChartObjects("Chart 8").Chart.PlotBy = xlRows

End If

End With

End Sub

获取运行时错误:'1004'

同时选择下拉列表 .

此外,此VBA不会基于任何数据透视表 . 它将在仪表板表上进行更改 .

是的,图表是使用Pivot创建的,但下拉列表是UserForm和Data Validation的组合

1 回答

  • 0

    我假设你的列表框返回一个你命名范围的字符串

    Sub SelectTable()
    
    With ActiveSheet.Shapes(Application.Caller).ControlFormat
        If ActiveSheet.Shapes(Application.Caller).Name = "Drop Down 2" Then
        Worksheets("Comparison").ChartObjects("Chart 8").Chart.SetSourceData Source:= _
        worksheet("sheetName??").Range(.Value & "[#All]")
    
        Worksheets("Comparison").ChartObjects("Chart 8").Chart.PlotBy = xlRows
    
    End If
    
    End With
    
    End Sub
    

相关问题