Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 37
Default Cannot activate a chart on a sheet

I have a embedded chart (there is only one chart) on a sheet. I tried naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the chart
contained within the chart object?

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it appears on
the top of the widow that pops up if you right click on the chart and select
Chart Window). This name (on the Chart Window) changes everytime the chart is
redrawn.

Question 2: How can I select the chart on the desired sheet?
Question 3: Can I somehow extract the name as it appears on the Chart Window?

I do not know if it has anything to do with it, but the chart on sheet 2 was
placed as a result of a comboBox_Change code. ComboBox is on sheet 1.

Thanks for your help.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Cannot activate a chart on a sheet

Comments in line -

"Farooq Sheri" wrote in message
...
I have a embedded chart (there is only one chart) on a sheet. I tried

naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the chart
contained within the chart object?


It should do if you amend the typo ActivesSheet to ActiveSheet and no other
chart on the sheet with that name (subject protection).

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it appears

on
the top of the widow that pops up if you right click on the chart and

select
Chart Window).


Not sure why ChartObjects(1) fails but ChartObjects("Chart 75") works,
there's obviously at least one chartobject on the sheet.

This name (on the Chart Window) changes everytime the chart is
redrawn.


You mean each time you deleate & recreate a chart. The number will increment
to the total number of objects that have 'ever' been added to the sheet. The
counter is only reset if the wb & sheet is saved with no objects.

Question 2: How can I select the chart on the desired sheet?


Need to activate the sheet first.

Question 3: Can I somehow extract the name as it appears on the Chart

Window?

Activesheet.Chartobjects.Chart.Name returns 'sheetname chartname' which will
be prefixed with the sheetname (the chartwindow also includes [wb-name]).
It's actual name though for referencing purposes is -
Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name

I do not know if it has anything to do with it, but the chart on sheet 2

was
placed as a result of a comboBox_Change code. ComboBox is on sheet 1.


Not directly related

Regards,
Peter T


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 37
Default Cannot activate a chart on a sheet

Thanks Peter for the detailed reply. There is no typo with the command
ActiveSheet.ChartObjects(1).Name = "chart 1" within my code.

At any given time there is only one chart on the sheet so it really beats me
why the command Worksheets(2).ChartObjects(1).Activate would not activate
the chart (the sheet is already activated).

Although I am still struggling with it but thank you for your reply. I will
try using the chart name as suggested by you
(Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name) and see if I
can get the chart activated.

Regards
Farooq

"Peter T" wrote:

Comments in line -

"Farooq Sheri" wrote in message
...
I have a embedded chart (there is only one chart) on a sheet. I tried

naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the chart
contained within the chart object?


It should do if you amend the typo ActivesSheet to ActiveSheet and no other
chart on the sheet with that name (subject protection).

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it appears

on
the top of the widow that pops up if you right click on the chart and

select
Chart Window).


Not sure why ChartObjects(1) fails but ChartObjects("Chart 75") works,
there's obviously at least one chartobject on the sheet.

This name (on the Chart Window) changes everytime the chart is
redrawn.


You mean each time you deleate & recreate a chart. The number will increment
to the total number of objects that have 'ever' been added to the sheet. The
counter is only reset if the wb & sheet is saved with no objects.

Question 2: How can I select the chart on the desired sheet?


Need to activate the sheet first.

Question 3: Can I somehow extract the name as it appears on the Chart

Window?

Activesheet.Chartobjects.Chart.Name returns 'sheetname chartname' which will
be prefixed with the sheetname (the chartwindow also includes [wb-name]).
It's actual name though for referencing purposes is -
Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name

I do not know if it has anything to do with it, but the chart on sheet 2

was
placed as a result of a comboBox_Change code. ComboBox is on sheet 1.


Not directly related

Regards,
Peter T



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Cannot activate a chart on a sheet

Sometimes it's necessary to deselect some other chart first, particularly if
it's in a window. Also sometimes necessary to select the .Chart if it was
selected as a chartobject. But if the current selection is say a cell I have
no idea why referring to it by it's index number fails but works with it's
name.

Are you absolutely sure there's only one chartobject, eg you didn't once
assume deleting all the rows it's in would delete it.
In the immediate window (ctrl-g) type
?activesheet.chartobjects.count
and press enter

Regards,
Peter T

"Farooq Sheri" wrote in message
...
Thanks Peter for the detailed reply. There is no typo with the command
ActiveSheet.ChartObjects(1).Name = "chart 1" within my code.

At any given time there is only one chart on the sheet so it really beats

me
why the command Worksheets(2).ChartObjects(1).Activate would not activate
the chart (the sheet is already activated).

Although I am still struggling with it but thank you for your reply. I

will
try using the chart name as suggested by you
(Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name) and see if I
can get the chart activated.

Regards
Farooq

"Peter T" wrote:

Comments in line -

"Farooq Sheri" wrote in message
...
I have a embedded chart (there is only one chart) on a sheet. I tried

naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the chart
contained within the chart object?


It should do if you amend the typo ActivesSheet to ActiveSheet and no

other
chart on the sheet with that name (subject protection).

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it

appears
on
the top of the widow that pops up if you right click on the chart and

select
Chart Window).


Not sure why ChartObjects(1) fails but ChartObjects("Chart 75") works,
there's obviously at least one chartobject on the sheet.

This name (on the Chart Window) changes everytime the chart is
redrawn.


You mean each time you deleate & recreate a chart. The number will

increment
to the total number of objects that have 'ever' been added to the sheet.

The
counter is only reset if the wb & sheet is saved with no objects.

Question 2: How can I select the chart on the desired sheet?


Need to activate the sheet first.

Question 3: Can I somehow extract the name as it appears on the Chart

Window?

Activesheet.Chartobjects.Chart.Name returns 'sheetname chartname' which

will
be prefixed with the sheetname (the chartwindow also includes

[wb-name]).
It's actual name though for referencing purposes is -
Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name

I do not know if it has anything to do with it, but the chart on sheet

2
was
placed as a result of a comboBox_Change code. ComboBox is on sheet 1.


Not directly related

Regards,
Peter T





  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 37
Default Cannot activate a chart on a sheet

Thanks Peter. I used the name as obtained from ActiveChart.Parent.Name to get
the desired results.

Thanks a lot.

Farooq Sheri

"Peter T" wrote:

Sometimes it's necessary to deselect some other chart first, particularly if
it's in a window. Also sometimes necessary to select the .Chart if it was
selected as a chartobject. But if the current selection is say a cell I have
no idea why referring to it by it's index number fails but works with it's
name.

Are you absolutely sure there's only one chartobject, eg you didn't once
assume deleting all the rows it's in would delete it.
In the immediate window (ctrl-g) type
?activesheet.chartobjects.count
and press enter

Regards,
Peter T

"Farooq Sheri" wrote in message
...
Thanks Peter for the detailed reply. There is no typo with the command
ActiveSheet.ChartObjects(1).Name = "chart 1" within my code.

At any given time there is only one chart on the sheet so it really beats

me
why the command Worksheets(2).ChartObjects(1).Activate would not activate
the chart (the sheet is already activated).

Although I am still struggling with it but thank you for your reply. I

will
try using the chart name as suggested by you
(Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name) and see if I
can get the chart activated.

Regards
Farooq

"Peter T" wrote:

Comments in line -

"Farooq Sheri" wrote in message
...
I have a embedded chart (there is only one chart) on a sheet. I tried
naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the chart
contained within the chart object?

It should do if you amend the typo ActivesSheet to ActiveSheet and no

other
chart on the sheet with that name (subject protection).

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it

appears
on
the top of the widow that pops up if you right click on the chart and
select
Chart Window).

Not sure why ChartObjects(1) fails but ChartObjects("Chart 75") works,
there's obviously at least one chartobject on the sheet.

This name (on the Chart Window) changes everytime the chart is
redrawn.

You mean each time you deleate & recreate a chart. The number will

increment
to the total number of objects that have 'ever' been added to the sheet.

The
counter is only reset if the wb & sheet is saved with no objects.

Question 2: How can I select the chart on the desired sheet?

Need to activate the sheet first.

Question 3: Can I somehow extract the name as it appears on the Chart
Window?

Activesheet.Chartobjects.Chart.Name returns 'sheetname chartname' which

will
be prefixed with the sheetname (the chartwindow also includes

[wb-name]).
It's actual name though for referencing purposes is -
Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name

I do not know if it has anything to do with it, but the chart on sheet

2
was
placed as a result of a comboBox_Change code. ComboBox is on sheet 1.

Not directly related

Regards,
Peter T








  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Cannot activate a chart on a sheet

Did you programmatically check how many chartobjects exit on the sheet.

Regards,
Peter T

"Farooq Sheri" wrote in message
...
Thanks Peter. I used the name as obtained from ActiveChart.Parent.Name to

get
the desired results.

Thanks a lot.

Farooq Sheri

"Peter T" wrote:

Sometimes it's necessary to deselect some other chart first,

particularly if
it's in a window. Also sometimes necessary to select the .Chart if it

was
selected as a chartobject. But if the current selection is say a cell I

have
no idea why referring to it by it's index number fails but works with

it's
name.

Are you absolutely sure there's only one chartobject, eg you didn't once
assume deleting all the rows it's in would delete it.
In the immediate window (ctrl-g) type
?activesheet.chartobjects.count
and press enter

Regards,
Peter T

"Farooq Sheri" wrote in message
...
Thanks Peter for the detailed reply. There is no typo with the command
ActiveSheet.ChartObjects(1).Name = "chart 1" within my code.

At any given time there is only one chart on the sheet so it really

beats
me
why the command Worksheets(2).ChartObjects(1).Activate would not

activate
the chart (the sheet is already activated).

Although I am still struggling with it but thank you for your reply. I

will
try using the chart name as suggested by you
(Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name) and see

if I
can get the chart activated.

Regards
Farooq

"Peter T" wrote:

Comments in line -

"Farooq Sheri" wrote in

message
...
I have a embedded chart (there is only one chart) on a sheet. I

tried
naming
it with

ActivesSheet.ChartObjects(1).Name = "chart 1"

Question 1: did the above statement name the chart object or the

chart
contained within the chart object?

It should do if you amend the typo ActivesSheet to ActiveSheet and

no
other
chart on the sheet with that name (subject protection).

Using a macro I tried to activate the chart with the command

Worksheets(2).ChartObjects(1).Activate

this however did not activate the chart.

If however I change the command to

Worksheets(2).ChartObjects("Chart 75").Activate

the chart is activated ("Chart 75" is the name of the chart as it

appears
on
the top of the widow that pops up if you right click on the chart

and
select
Chart Window).

Not sure why ChartObjects(1) fails but ChartObjects("Chart 75")

works,
there's obviously at least one chartobject on the sheet.

This name (on the Chart Window) changes everytime the chart is
redrawn.

You mean each time you deleate & recreate a chart. The number will

increment
to the total number of objects that have 'ever' been added to the

sheet.
The
counter is only reset if the wb & sheet is saved with no objects.

Question 2: How can I select the chart on the desired sheet?

Need to activate the sheet first.

Question 3: Can I somehow extract the name as it appears on the

Chart
Window?

Activesheet.Chartobjects.Chart.Name returns 'sheetname chartname'

which
will
be prefixed with the sheetname (the chartwindow also includes

[wb-name]).
It's actual name though for referencing purposes is -
Activesheet.Chartobjects(1).Name or ActiveChart.Parent.Name

I do not know if it has anything to do with it, but the chart on

sheet
2
was
placed as a result of a comboBox_Change code. ComboBox is on sheet

1.

Not directly related

Regards,
Peter T








Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Activate the top of sheet AD108 Excel Worksheet Functions 2 July 30th 06 05:27 PM
Can't activate chart Michael Smith Excel Programming 1 January 20th 06 07:36 PM
De-activate a chart daniel chen Excel Discussion (Misc queries) 6 April 24th 05 05:01 AM
Return to Current Sheet in On (sheet activate) event macro Paul Moles Excel Programming 1 March 27th 05 03:16 PM
Activate Chart Bill[_24_] Excel Programming 2 April 25th 04 05:52 PM


All times are GMT +1. The time now is 09:01 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"