我编写了以下代码来创建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
我使用的数据如下:
结果时间表如下所示:
代码工作正常(虽然我知道它并不漂亮),除了我尝试将-45
的值赋给.DataLabels.Orientation
属性的位;这实际上设置了45
的值。
MSDN声明:'此属性的值可以设置为-90到90度之间的整数值,也可以设置为以下常量之一。',但我指定的任何负整数值都会转换为一个正值。
是否可以为.DataLabels.Orientation
属性分配负值,如果是,如何分配?