2017-03-29 1 views
0

Excel에서 차트가 있습니다. 이 차트에는 텍스트 상자가 있습니다. 이 텍스트 상자를 차트의 왼쪽 위 모서리에 놓고 싶습니다.Excel에서 차트의 TextBox를 위쪽/왼쪽으로 위치 -4

이 작업을 수동으로 수행하고 .Top.Left 속성을 읽으면 응답으로 -4이 표시됩니다.

이 두 속성을 -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 

편집 :

그러나 당신에게 그것을 달성하기 위해 위치 증가 할 수있는 좀 더 테스트 후, 당신이 갈 수있는 가장 부정적인에도이 방법가 -4/- 4.

관련 문제