Sub MoveShape()
Dim cL As Double 'Chart Left
Dim cT As Double 'Chart Top
Dim cH As Double 'Chart Height
Dim fPl As Double 'Full Series (1) Point Left
Dim fPh As Double 'Full Series (1) Point Height
Dim fPw As Double 'Full Series (1) Point Width
Dim fPli As Double 'Series(i) Point Left
Dim fPhi As Double 'Series(i) Point Height
Dim Ar As String 'Arrow name
With ActiveSheet.ChartObjects("ExChart")
.Activate
cL = .Left
cT = .Top
cH = .Height
End With
'Cot dau tien bieu do - Align Left Shape
With ActiveChart.FullSeriesCollection(1).Points(1)
fPl = .Left
fPw = .Width
fPh = .Height
End With
For i = 2 To 6 '6 Series
fPli = ActiveChart.FullSeriesCollection(1).Points(i).Left
fPhi = ActiveChart.FullSeriesCollection(1).Points(i).Height
Ar = "Arrow" & i
With ActiveSheet.Shapes(Ar)
.Width = fPli - fPl - fPw
.Left = fPl + fPw + cL + 4
.Top = cT + cH - fPhi - .Height * 3 / 2 + 1
.TextFrame2.TextRange.Characters.Text = Format(fPhi / fPh, "0%")
End With
Next
End Sub