Reputation: 33
I need help setting the X and Y axes title inside Excel 2007 VBA. It keeps complaining about "Object required":
Sub macro2()
Dim xAxis As Axis
icount = 1
Charts.Add
Charts(icount).Name = iskewplane & "deg Skew Plane"
Charts(icount).Activate
Set xAxis = Charts(icount).Axes(xlCategory)
With xAxis
.Axis
.AxisTitle.Text = "Theta (deg)"
End With
Is there something wrong in my code? I tried recording the macro during setting the axis title name, but the macro is blank during the name setting.
Any help is appreciated
Upvotes: 3
Views: 9855
Reputation: 4592
You first have to create the AxisTitle object - an axis doesn't automatically have one. This is done by setting Axis.HasTitle = True
- a slightly unusual method.
Upvotes: 3
Reputation: 26601
You should use Option Explicit
because iCount
wasn't defined and iskewplane
wasn't either.
Here is the right code:
Sub mac()
Dim xAxis As Axis
Dim iCount As Integer
iCount = 1
Charts.Add
Charts(iCount).Name = "deg Skew Plane"
Charts(iCount).Activate
Set xAxis = Charts(iCount).Axes(xlCategory)
With xAxis
.HasTitle = True
.AxisTitle.Caption = "Theta (deg)"
End With
End Sub
Upvotes: 6