为Excel中的DataLabel.Orientation属性指定负值

时间:2016-05-03 14:16:57

标签: excel excel-vba vba

我编写了以下代码来创建XY散点图并格式化这些点以创建事件/决策的可视时间轴。

Sub UpdateDecisionTimelineChart()

    Dim scount As Integer
    Dim labelrotation As Integer
    Dim c As Range

    ActiveSheet.ChartObjects("chtDecisionTimeline").Activate
    scount = 0
        For Each c In Range(Worksheets("Decision Record").Range("C7"), Worksheets("Decision Record").Range("C7").End(xlDown))
        scount = scount + 1
        ActiveChart.SeriesCollection.NewSeries
        With ActiveChart.SeriesCollection(scount)
            .Name = "='Decision Record'!" & c.Offset(0, 1).Address
            .XValues = "='Decision Record'!" & c.Address
            .Values = "='Decision Record'!" & c.Offset(0, -1).Address
            .MarkerStyle = 8
            .MarkerSize = 7
            .MarkerBackgroundColor = RGB(228, 10, 56)
            .MarkerForegroundColor = -2
            .Format.Line.Visible = False
            .ApplyDataLabels
            .DataLabels.ShowValue = False
            .DataLabels.ShowSeriesName = True
            .DataLabels.Position = xlLabelPositionAbove
            .DataLabels.Orientation = -45
        End With
        Next
End Sub

我使用的数据如下:

Range Example

结果时间表如下所示:

enter image description here

代码工作正常(虽然我知道它并不漂亮),除了我尝试将-45的值赋给.DataLabels.Orientation属性的位;这实际上设置了45的值。

MSDN声明:'此属性的值可以设置为-90到90度之间的整数值,也可以设置为以下常量之一。',但我指定的任何负整数值都会转换为一个正值。

是否可以为.DataLabels.Orientation属性分配负值,如果是,如何分配?

0 个答案:

没有答案