我在Excel 2003上的饼图中遇到了一个非常奇怪的问题。我将在VBA中完全设置数据标签的.Top或.Left属性,但Excel会自动将其移动到另一个值。为什么会这样?我该如何解决这个问题?从我的测试来看,这个问题似乎不存在于Excel 2007中。要了解我的意思,请尝试在excel 2007中创建带有数据标签的饼图,并在图表上运行以下功能:
Sub problemExample(xlcht As Excel.Chart)
With xlcht.SeriesCollection(1)
For aSlice = 1 To .Points.Count
.Points(aSlice).DataLabel.Top = 43
Range("F" & (aSlice + 1)).Value = .Points(aSlice).DataLabel.Top
.Points(aSlice).DataLabel.Left = 38
Range("G" & (aSlice + 1)).Value = .Points(aSlice).DataLabel.Left
Next aSlice
End With
End Sub
答案 0 :(得分:0)
原因是位置被量化。顶部,左侧,宽度和高度属性不是可能值的连续谱,它们只能通过固定增量进行更改。如果你在这些增量之间选择一些东西,excel会立即将属性四舍五入到最接近的增量值。