2011-06-27 35 views
0

我在Excel 2003餅圖中的數據標籤中遇到了一個非常奇怪的問題。我將在VBA中完全設置數據標籤的.Top或.Left屬性,但Excel將自動將其移至不同的值。爲什麼會發生?我該如何解決這個問題?這個問題在Excel 2007中存在而不是,它似乎來自我的測試。看看我的意思,嘗試在Excel 2007中創建一個包含數據標籤的餅圖,然後在圖表上運行以下功能:Excel 2003中的餅圖數據標籤VBA

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

原因是位置是量化的。頂部,左側,寬度和高度屬性不是可能值的連續譜,它們只能通過固定增量進行更改。如果你在這些增量之間選擇一些東西,excel會立即將屬性四捨五入到最接近的增量值。