Subscript out of range error message

A

Ayo

I am trying to run this code:

Private Sub Worksheet_Change(ByVal Target As Range)
Charts("Milestone Chart").Activate
With ActiveChart
.HasTitle = True
.ChartTitle.Text = Range("B3") & " " & Range("B4") & " - NLP2"
'"First Quarter Sales"
End With

Application.ScreenUpdating = False
If Target.Address() = "$B$3" Then
Call getMSaddress(Target)
ElseIf Target.Address() = "$B$4" Then
Call getMSaddress(Target)
End If
End Sub

but I am getting the error message on:
Charts("Milestone Chart").Activate

I don't know why this is since I named the chart "Milestone Chart". Any
ideas.
Thanks.
 
J

joel

Worksheet change can't active objects. try this

Private Sub Worksheet_Change(ByVal Target As Range)

With Charts("Milestone Chart")
.HasTitle = True
.ChartTitle.Text = Range("B3") & " " & Range("B4") & " - NLP2"
'"First Quarter Sales"
End With

Application.ScreenUpdating = False
If Target.Address() = "$B$3" Then
Call getMSaddress(Target)
ElseIf Target.Address() = "$B$4" Then
Call getMSaddress(Target)
End If
End Sub
 
A

Ayo

This was what I had before. I changed it to:
Charts("Milestone Chart").Activate
With ActiveChart

when because I was getting the same error message.
 
J

joel

You are very limited on the type of operations you can perform with a
worksheet change macro. It is really only inteded to change the value of the
cell where the change was made. You can read data from any location but you
can only write data to the worksheet where the change was made. You also
can't active cells on other worksheets or charts.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top