0

我在 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
4

1 回答 1

0

原因是位置是量化的。top、left、width 和 height 属性不是可能值的连续范围,它们只能通过固定增量进行更改。如果您在这些增量之间进行选择,Excel 会立即将该属性四舍五入到最接近的增量值。

于 2011-06-27T18:07:22.673 回答