Ярлыки данных круговой диаграммы в Excel 2003 VBA

Я столкнулся с очень странной проблемой с метками данных в круговых диаграммах в Excel 2003. Я установил свойство .Top или .Left метки данных абсолютно в VBA, но 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

person user817721    schedule 27.06.2011    source источник


Ответы (1)


Причина в том, что позиции квантуются. Свойства top, left, width и height не являются непрерывным спектром возможных значений, они могут быть изменены только с фиксированным шагом. Если вы выберете что-то между этими приращениями, excel немедленно округлит свойство до ближайшего приращения значения.

person Alain    schedule 27.06.2011