Dominic
Dominic

Reputation: 33

Excel 2007 VBA Problem setting Axis Title

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

Answers (2)

Tom Juergens
Tom Juergens

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

JMax
JMax

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

Related Questions