Conditional Graphics - Is it possible?

JKFEagle

New Member
Joined
Apr 11, 2002
Messages
48
I'm trying to set up a spreadsheet that allows for a simple graphic that exists on the sheet to be changed based on the value of a cell. It will always be one of two graphics and as I said, the graphic does exist on the sheet. It appears obvious to me that there is no way to do this outside of using VBA so that is what I am expecting as a means of doing it, I'm just not sure where to begin. Any ideas?
 

Excel Facts

Select a hidden cell
Somehide hide payroll data in column G? Press F5. Type G1. Enter. Look in formula bar while you arrow down through G.
What size are the graphics? i.e. is it supposed to take up a specific area on a sheet or it the size of a cell?

Are the graphics always on the sheet and you just want to order to change. e.g. the graphics are the same size and shape and all you want to do is have both of them at exactly the same position?

Here's a quick example, I created a new workbook and on sheet1 I insert two identical rectangles from the "Drawing" menu. I coloured one of them yellow and the other is white. I want the white one ("Rectangle 1") to be visible if cell A1's value is "Y", for all other values of A1 I want the yellow rectangle to be visible ("Rectangle 2")

<pre>
Private Sub Worksheet_Change(ByVal Target As Range)
If Me.[A1] = "Y" Then
Me.Shapes("Rectangle 1").ZOrder msoBringToFront
Else
Me.Shapes("Rectangle 2").ZOrder msoBringToFront
End If
End Sub</pre>

To use this code, right click on the sheet name tab and select "View Code", copy and paste this code into the window that appears.

HTH
 
Upvote 0
Actually, what I'm trying to do more specifically is show the graphic of a happy face when a numeric target is met and a sad face when it is not. Right now the graphic is simply pasted onto the spreadsheet. Is there a better way?
 
Upvote 0
Subsitute "Rectangle" in my previous post for "bitmap" of a smiley.

I can't remember if :) and :( give you a smiley in Excel, if so you could try putting them in an "IF" statement e.g.:

=IF(A1 > 100, ":)", ":(")

There may be a better way of doing it, but my original post is the only way I could ee from your first post.

_________________<font color = green> Mark O'Brien
This message was edited by Mark O'Brien on 2002-05-14 19:43
 
Upvote 0
On 2002-05-14 19:43, Mark O'Brien wrote:
Subsitute "Rectangle" in my previous post for "bitmap" of a smiley.

I can't remember if :) and :( give you a smiley in Excel, if so you could try putting them in an "IF" statement e.g.:

=IF(A1 > 100, ":)", ":(")

There may be a better way of doing it, but my original post is the only way I could ee from your first post.

_________________<font color = green> Mark O'Brien
This message was edited by Mark O'Brien on 2002-05-14 19:43


Just to expand on Mark's suggestion
If you must have code then use code suggested

In Mark's 2nd suggestion just change the
Font to Wingdings and Use
J = :) and L = :( in his formula, change
formula to suit.
 
Upvote 0

Forum statistics

Threads
1,213,536
Messages
6,114,208
Members
448,554
Latest member
Gleisner2

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top