Excel 2010 で無効にしたグラフのデフォルト/ネイティブのサイズ変更動作を元に戻す方法を探しています (たとえば、VBA でグラフを操作することによって)。
今、私が考えている行動についてどこにも何も見つけることができなかったので、詳細な説明が必要であると仮定します.
Excel の 4 ~ 5 個のセルにランダムな数値データを入力して選択し、新しいクラスター化された縦棒グラフを挿入します。チャートのプロット エリアを表示する必要があります。チャートを選択し、次の行で PlotArea.Top 値を取得します。
ActiveChart.PlotArea.Top
グラフに触れていない場合は、値 7 が返されます。次に、グラフのハンドルバーの 1 つを使用してグラフを垂直方向にサイズ変更し、同じコマンド ラインを再度使用します。
activechart.plotarea.top
返される値が 7 のままであることに注意してください。VBA でこのプロパティを 7 に設定します。
ActiveChart.PlotArea.Top = 7
再び、ハンドルバーの 1 つをつかみ、チャートを垂直方向にサイズ変更して、次を使用して .top プロパティを再度取得します。
ActiveChart.PlotArea.Top
値がどのように変化したかに注目してください。グラフのサイズを増減したかどうかに応じて、7 よりも小さいか大きいかのいずれかになります。
チャートのいずれかの要素が手動または VBA コードで移動されると、この「絶対位置」プロパティが失われ、チャートのサイズが変更されるたびに ChartArea 内で移動が開始されます。一部の要素は .SetElement を使用してリセットできますが、これはプロット エリアでは機能しません。たとえば、次のコマンド ラインは、私が説明している動作を復元しません。
ActiveChart.SetElement msoElementPlotAreaNone
ActiveChart.SetElement msoElementPlotAreaShow
私は VBA を使用してチャートのサイズ変更を自動化していますが、プロット エリアを自動的に移動させると、チャートのサイズ変更の影響を予測することが非常に難しくなり、結果が一定しなくなります。
質問に戻ります。グラフ全体、または少なくとも特に PlotArea に対して、このデフォルトの動作を元に戻す方法を知っている人はいますか?
助けてくれる人に前もって感謝します!
ヴィンセント