Loop through charts

S

Sandy

I have a situation where I would like to loop through all the charts on a
sheet and if a condition is true, hide them.
Can't get it right though!

My attempt - in Sheet_Activate

Dim ch as Chart
If Range("D9").value=0 then
For each ch In Sheets("MySheet")
ch.Visible=False
Next
Else
......................
End If

Sandy
 
C

Chip Pearson

Sandy,

Charts that reside on a worksheet (rather than being Chart Sheets) are
wrapped on in a ChartObject object. One child of the ChartObject object is
the Chart object. Try something like:

Dim ChtObj As ChartObject
For Each ChtObj In Worksheets(1).ChartObjects
Debug.Print ChtObj.Name, ChtObj.Chart.Name
Next ChtObj


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
 
S

Sandy

Thank you very much Chip - Perfect
Sandy

Chip Pearson said:
Sandy,

Charts that reside on a worksheet (rather than being Chart Sheets) are
wrapped on in a ChartObject object. One child of the ChartObject object is
the Chart object. Try something like:

Dim ChtObj As ChartObject
For Each ChtObj In Worksheets(1).ChartObjects
Debug.Print ChtObj.Name, ChtObj.Chart.Name
Next ChtObj


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
 

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