【问题标题】:Labeling the last point of series标记系列的最后一点
【发布时间】:2015-08-07 21:24:13
【问题描述】:

我有一个代码可以将图表上每个系列的最后一个点更改为图例名称。但是,我不希望前4个系列的最后一点更改为图例名称。有人对更改此代码以跳过前 4 个系列并标记每个系列的最后一点有任何建议吗?

For Each mySrs In ActiveChart.SeriesCollection              'change this function so every series after series 4 changes ast point
    With mySrs

        nPts = .Points.Count
        mySrs.Points(nPts).ApplyDataLabels _
        Type:=xlDataLabelsShowValue, _
        AutoText:=True, LegendKey:=False
        mySrs.Points(nPts).DataLabel.Text = mySrs.Name
        mySrs.Points(nPts).DataLabel.Orientation = 90
        mySrs.Points(nPts).DataLabel.Font.Bold = True

    End With
Next

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    Excel 中的图表Series 有一个名为PlotOrder 的属性,它告诉您每个系列在图表上的绘制顺序。你可以在你的循环中检查这个属性,并且只有在它是> 4 时才继续。例如:

    For Each mySrs In ActiveChart.SeriesCollection
    
        With mySrs
    
            If .PlotOrder > 4 Then
                nPts = .Points.Count
                ....
            End If
    
        End With
    
    Next
    

    【讨论】:

    • 完美运行!我不知道 PlotOrder 属性。还在学习...谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多