我已經寫了自動創建一個圖表一些VBA代碼旋轉的形狀移動到特定位置,在2010年的Excel。此圖表上的其中一個軸不使用普通標籤,而是使用圖形。我將圖形存儲爲圖像,並使用.Copy和.Paste方法將此圖像的副本放到圖表上。如何使用VBA
這裏就是它得到混亂。我需要旋轉圖像以使其與軸對齊(使用.rotation屬性)。但是,當我設置.top和.left屬性時,形狀不會以我期望的方式結束。事實上,將屬性設置爲0和0並不符合我的期望。我試圖改變我在圖像對象上設置屬性的方式的順序,但它只出現在不同的(錯誤的)位置。
我敢肯定,我錯過了VBA/Excel如何將對象放置到相對於設置頂部和左側屬性的一些重要方面。基本上我的目標是使在具有相同寬度的繪圖區的高度圖表左側的圖像(由於圖像旋轉,我從理論上這將使相同的大小)。
此代碼不起作用:
Sheets(ImageSheet).Shapes("agreement").Copy
c.Chart.Paste
c.Chart.Shapes(1).Rotation=270
c.Chart.Shapes(1).width = c.Chart.PlotArea.height
c.Chart.shapes(1).left = 5
c.Chart.Shapes(1).top = c.Chart.PlotArea.top
我也試過這個代碼
c.chart.Shapes(1).top = c.chart.PlotArea.top + c.Chart.PlotArea.height
,因爲我想也許這是計算「頂」爲的左上角圖像對象時,它不旋轉(旋轉270度使此點在一個地方,它應該與繪圖區域的底部對齊)。但這並不符合我的預期。
的圖像是一個瘦矩形充當軸的標籤。該圖表最終會按如下方式排列:http://imgur.com/NrSXR和軸標籤圖像會是這樣的http://imgur.com/08EWU
我在這裏丟失了什麼?
+1若有所思書面質詢。如果你可以提供一個鏈接到一個帶有你的圖像的虛擬文件,它可能會有所幫助。 –