Here is some code to determine the chart titles width and heigth.
The technique can be used with any of the chart label items.
There is also code to adjust the plot area. This works as expected unless there is not enough room in the chartarea to achieve the specified height.
Sub X()
Dim sngHeight As Single
Dim sngTitleLeft As Single
Dim sngTitleTop As Single
Dim sngTitleWidth As Single
Dim sngTitleHeight As Single
sngHeight = 200
With ActiveChart
MsgBox "Current plotarea height is " & .PlotArea.Height
.PlotArea.Height = sngHeight
MsgBox "and now plotarea height is " & .PlotArea.Height
If .HasTitle Then
sngTitleLeft = .ChartTitle.Left
sngTitleTop = .ChartTitle.Top
.ChartTitle.Left = .ChartArea.Width
sngTitleWidth = .ChartArea.Width - .ChartTitle.Left
.ChartTitle.Top = .ChartArea.Height
sngTitleHeight = .ChartArea.Height - .ChartTitle.Top
' re position title
.ChartTitle.Left = sngTitleLeft
.ChartTitle.Top = sngTitleTop
MsgBox "Chart Title Width = " & sngTitleWidth & Chr(10) _
& "Chart Title Height = " & sngTitleHeight
End If
End With
End Sub