Hiding graphics elements?

B

Blue Max

How can we hide pre-selected groups of graphics elements with the touch of a
cell or control?

We have two distinct groups of rectangles with gradient fills. Depending on
the state (true/false) of a control, we want one or the other group of
rectangles to be hidden while the other is displayed. Can anyone give us
some direction on how we might accomplish this? Unlike controls, we don't
see where rectangles have a property for visibility or for hiding the
object.
 
R

Rick Rothstein

Let's say one of your rectangles is named "Rectangle 1", then you can hide
it like this...

Worksheets("Sheet1").Shapes("Rectangle 1").OLEFormat.Object.Visible = False

Setting the above line to True instead of False will show the rectangle
again. In place of the name "Rectangle 1", you can use its Index number if
you know it...

Worksheets("Sheet1").Shapes(1).OLEFormat.Object.Visible = False
 
B

Blue Max

Rick,

Thank you for the helpful reply. However, isn't there a way to group these
objects and then select and hide/unhide the entire group at once? I know
that controls can be grouped, but not sure how graphic objects can be named
and then selected as a group so that a common property can be changed for
all objects at the same time?

Thanks,
Richard
 
R

Rick Rothstein

I think you have to loop the Shapes collection and test to see which shapes
are rectangle and then apply the action to them...

Dim R As Shape
For Each R In Worksheets("Sheet2").Shapes
If R.AutoShapeType = msoShapeRectangle Then R.Visible = False
Next
 

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