グラフを自動的に作成するいくつかのVBAコードを記述しました。このグラフの軸の1つは、通常のラベルではなくグラフィックです。グラフィックを画像として保存し、.Copyおよび.Pasteメソッドを使用してこの画像のコピーをグラフに表示します。vbaを使用してExcel 2010の回転した図形を特定の場所に移動する方法
ここでは混乱するところです。 .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:ここでは
は、私が使用して終了コードです。ダミーファイルへのリンクをイメージに含めることができれば役に立ちます。 –