ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Hiding graphics elements? (https://www.excelbanter.com/excel-programming/442154-hiding-graphics-elements.html)

Blue Max

Hiding graphics elements?
 
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.


Rick Rothstein

Hiding graphics elements?
 
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.Vi sible = False

--
Rick (MVP - Excel)



"Blue Max" wrote in message
...
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.



Blue Max

Hiding graphics elements?
 
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

"Rick Rothstein" wrote in message
...
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.Vi sible = False

--
Rick (MVP - Excel)



"Blue Max" wrote in message
...
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.



Rick Rothstein

Hiding graphics elements?
 
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

--
Rick (MVP - Excel)



"Blue Max" wrote in message
...
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

"Rick Rothstein" wrote in message
...
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.Vi sible = False

--
Rick (MVP - Excel)



"Blue Max" wrote in message
...
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.




All times are GMT +1. The time now is 12:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com