2017-03-29 11 views
0

私はExcelでグラフを作成しています。このチャートの中にはテキストボックスがあります。このテキストボックスをグラフの左上隅に配置したいと思います。ExcelのChart内のTextBoxを上/左に配置します。-4

これを手動で行い、プロパティ.Top.Leftを読むと、私は応答として-4を取得します。

これらの2つのプロパティを-4に設定しようとすると、テキストボックスは0ではなく-4になります。 なぜ私はtexboxをチャートの左上隅に配置しないのですか? ここには、テキストボックスの外側の余白か、チャート/チャートエリアの内側の余白がありますか?ここで

は、あなたがテキストボックスを挿入する任意のチャートでそれをテストするためのいくつかのコードです:あなたが負の数に左上/を設定することはできませんように

Sub TextBoxPositionUpperLeftCorner() 
    Dim cho As ChartObject 
    Dim sh As Shape 

    For Each cho In ActiveSheet.ChartObjects 
     For Each sh In cho.Chart.Shapes 

      'reading out the position 
      Debug.Print "Top: " & sh.Top 
      Debug.Print "Left: " & sh.Left 

      'setting the position 
      sh.Top = -4 
      sh.Left = -4 

     Next 
    Next 
End Sub 

答えて

2

は思えます。

しかし、あなたはそれを達成するために位置をインクリメントすることができます

Sub TextBoxPositionUpperLeftCorner() 
Dim cho As ChartObject 
Dim sh As Shape 

For Each cho In ActiveSheet.ChartObjects 
    For Each sh In cho.Chart.Shapes 

     'reading out the position 
     Debug.Print "Top: " & sh.Top 
     Debug.Print "Left: " & sh.Left 

     sh.IncrementTop -(sh.Top + 4) 
     sh.IncrementLeft -(sh.Left + 4) 

     'reading out the position 
     Debug.Print "Top: " & sh.Top 
     Debug.Print "Left: " & sh.Left 

    Next 
Next 

EDIT:もう少しテストの後、あなたもこの方法でを行くことができます最も否定的である-4/- 4。

関連する問題