2017-02-18 32 views
0

我想通過VBA在Excel中的圖表中放置一個圖形,雖然我已經設置了位置參數的正確結果,但形狀在不同的位置,略有不同但不同。錯誤位置的Excel VBA圖表形狀

我搜查了互聯網,但我還沒有找到一個令人滿意的答案,爲什麼會發生這種情況。

例如我用這個代碼

Set shpRect = Chart1.Shapes.AddShape(msoShapeRectangle, 50, 75, 250, 175)

並生成一個矩形,但不是在50,75的位置,但在位置60,80等

你知道一個修復對於這個問題?

+0

你如何建立的'Top'和'Left'是80和60?你的代碼適用於我,如果我得到'Top'和'Left'屬性,他們是75和50. –

+0

我有一個圖表,它有一個編號的x軸,而形狀的左邊位置應該在0和1之間,它大於一個意思是位置錯誤,因爲它應該在0和1之間。 – Lvassilopoulos

+0

因此,您想要執行此命令 - 「AddShape」 - 但給出的參數實際上是相對於圖表的座標軸的? –

回答

0

什麼形狀定位到某個小區,讓我們說「C3」,它的創建後:

Set shpRect = Chart1.Shapes.AddShape(msoShapeRectangle, 50, 75, 250, 175) 

With shpRect '<-- modify the shape's position 
    .Top = Range("C3").Top 
    .Left = Range("C3").Left 
End With 
+0

謝謝,但形狀應該放在計算位置的圖表中。不在一個單元格中。 – Lvassilopoulos

+0

@Lvassilopoulos你把形狀放在一個圖表類型表中? –

+0

是的,我確實把它放在圖表中 – Lvassilopoulos