Solved

Macro to switch graphic with other input variables

Posted on 2011-03-16
11
223 Views
Last Modified: 2013-11-27
EE Professionals,

I have a Graphic that is composed of a set of cells where I have applied certain conditional formatting.  What I want to do is have a button/toggle switch, that allows me to maintain the exact same graphic (same cells on output), but substitute a different set of input variables into the cells to have the conditional formatting apply.  This will change the color formatting to represent the second set of variables.  

I have attached a sample of this; Condition 1 is reflected in the current graphic/set of cells. Condition 2 needs to be toggled in.  When hitting the button again, Condition 1 reappears, and so on.

I plan to ask a related question (telling you in advance) to add a third condition where it is Condition 2 minus Condition 1 with the result displaying in the conditional formatting as a third state.

Thank you in advance.

B.
Conditional-Formatting-with-swit.xlsm
0
Comment
Question by:Bright01
  • 5
  • 5
11 Comments
 
LVL 43

Accepted Solution

by:
Saqib Husain, Syed earned 400 total points
ID: 35147414
Check this file. I have used helper cells
Copy-of-Conditional-Formatting-w.xlsm
0
 
LVL 19

Assisted Solution

by:akoster
akoster earned 100 total points
ID: 35147597
something like this :
Sub toggle_condition()
'
' Toggle conditional layout
'

    For Each cel In Range("C9:D13").Cells
        cel.Select
        For Each formatting In cel.FormatConditions
            If InStr(formatting.Formula1, "H") > 0 Then
                formatting.Modify Type:=xlExpression, Formula1:=Replace(formatting.Formula1, "H", "I")
            ElseIf InStr(formatting.Formula1, "I") > 0 Then
                formatting.Modify Type:=xlExpression, Formula1:=Replace(formatting.Formula1, "I", "H")
            End If
        Next formatting
    Next cel

End Sub

Open in new window


 updated-Conditional-Formatting-w.xlsm
0
 

Author Comment

by:Bright01
ID: 35151427
Guys,

Thanks.  Two things;

1.) Can you have the Chart# replace "CHART" when you toggle the correct list of variables?

2.) Can you give me some guidence on how I incorporate it into my master sheet?  Specifically, I copy it into a new Module, insure that the ranges match up on the variables, insure the Chart Names are replaced properly and then link the Toggle to the routine?

Thanks much!

B.
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 35151462
For part 1)

In my file change

CHART

to

="CHART "&F6
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 35151546
For part 2)

= move (not copy) the range which contains the references to the CF to another location. (In the given file you would move the range H8:H13 to another location like F8:F13 in my file

= copy values from the new range back to the original range (F8:F13 to H8:H13)

- enter an index number above this range (in my file it is at F6)

- enter index() formulas in the new range F8:F13 (enter =INDEX(H8:J8,1,F$6) in F8 and copy it down) This formula will pick up the value from the column referred to by the cell F6.

Now all you have to do is change the value in cell F6 from 1 to 2 and back to see the chart changing. This can be automated by a macro as given.

Saqib

-
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:Bright01
ID: 35151739
Guys,

Update.... I got it to work in my workbook.  I'd still appreciate it if you could add a way that when you toggle, you get the right Chart name.  Also, when the macro runs, it automatically moves the cursor down several cells when you push it.  Is there a way to prevent that?

Thank you,

B.
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 35151941
Can you be specific which of the two solutions you are talking about. The one from ssaqibh or the one from akoster.

The one from ssaqibh does not move the cursor when run.
0
 

Author Comment

by:Bright01
ID: 35152434
Wow guys.... ok, I spent an hour testing both of these solutions and I must say I'm impressed with both of them.  Two great ways to do the same thing.  I must say that after testing both, ssaqibh's solution is my first choice; cursor doesn't move and there is no visable macro ficker (although ssaqibh's solution took me an additional 45 minutes to change all of my conditional formatting.

So akoster, much thanks, very good work.  Ssaqibh, great job.  I need one last small fix before I close this out.  When I installed your fix for the Chart change, it changed the number from Chart 1 to Chart 2.  However, my Chart 1 is actually a name and so is Chart 2.  So I don't want to change the number of the Chart, I want to actually replace the Chart 1 name with the Chart 2 name.

Can you advise me on how to do that little switch?

Thank you both,

Bright01
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 35152470
replace the chart name with an index formula similar to the ones you did in the data.
0
 

Author Comment

by:Bright01
ID: 35152819
Please show me.....
0
 

Author Closing Comment

by:Bright01
ID: 35154268
Thanks guys; I got the toggle to work.  Very good work.  Much appreciated.
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Improved? Move/Copy Add-in Replacement - How to avoid the annoying, “A formula or sheet you want to move or copy contains the name XXX, which already exists on the destination worksheet.” David Miller (dlmille)  It was one of those days… I wa…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

28 Experts available now in Live!

Get 1:1 Help Now