【问题标题】:How to set chart title as a selected column in VBA如何在 VBA 中将图表标题设置为选定列
【发布时间】:2019-12-29 23:02:25
【问题描述】:

VBA 新手,不确定如何将图表标题设置为特定的选定列。我正在从一个数据表创建多个图表,因此希望能够选择要适当命名的数据和图表。

Sub Charter()

    Dim my_range    As Range

    Set my_range = Selection
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    ActiveChart.FullSeriesCollection(1).ChartType = xlColumnClustered
    ActiveChart.FullSeriesCollection(1).AxisGroup = 1
    ActiveChart.FullSeriesCollection(2).ChartType = xlLine
    ActiveChart.FullSeriesCollection(2).AxisGroup = 1
    ActiveChart.FullSeriesCollection(1).ChartType = xlXYScatter
    ActiveChart.FullSeriesCollection(1).AxisGroup = 1
    ActiveChart.SetSourceData Source:=my_range

    Cells(1, 1).Select

End Sub

我希望图表标题使用在 ActiveChart.FullSeriesCollection(1).ChartType = xlXYScatter

谢谢

【问题讨论】:

    标签: excel vba charts title


    【解决方案1】:

    ActiveChart.ChartTitle.Text 是文本所需的属性。这是在ActiveChart中引用它的一种方式:

    ActiveChart.ChartTitle.Text = ActiveSheet.Cells(1, 1).Text
    

    如果要使用FullSeriesCollection(1)的名称,那么:

    ActiveChart.ChartTitle.Text = ActiveChart.FullSeriesCollection(1).Name
    

    (一般来说,避免在 VBA 中使用 SelectActiveChart - How to avoid using Select in Excel VBA

    【讨论】:

    • 谢谢,但是你知道怎么设置,让图表标题取自ActiveChart.FullSeriesCollection(1).ChartType = xlXYScatter中使用的数据
    • @ZacEpstein - 我想念您所说的“ActiveChart.FullSeriesCollection(1).ChartType = xlXYScatter xlXYScatter 中使用的数据是集合的 ChartType,它不是数据。
    • 我希望图表标题是我选择的第三列数据,与图表图例中散点图名称中使用的数据相同
    • 我希望它与传说中的系列 2 同名
    • @Zacchini - ActiveChart.ChartTitle.Text = ActiveChart.FullSeriesCollection(1).Name 这应该可以工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多