
Conditional formatting is one of favorite features in Excel. CF has helped me save the day at work more than a dozen occasions. I almost became project manager just because I knew how to make a gantt chart in excel using conditional formatting. I have written extensively about it.
So, I was naturally curious to explore what is new in Excel 2010’s Conditional Formatting. In this post, I will share some of the coolest improvements in CF.
1. You can refer to data in other worksheets now

This is the best new addition to CF capabilities in Excel 2010. Now we can refer to data in other worksheets without using any named ranges or copying the data over to primary sheet.
2. Solid Data Bars, Finally!
In Excel 2007, MS introduced a new feature called “data bars”. It felt like an exciting thing, except for one gnawing problem. The bars have gradients. So, not only they looked ugly, but they were also difficult to read (also, they were inaccurate at default settings).
Thankfully MS rectified these problems and significantly improved data bars in Excel 2010.
Now, you can,
- Create data bars with solid fill
- Apply borders to data bars (so that even gradient fills look elegant)
- Have negative data bars
- Have an axis so that comparison is easy
Here is a small comparison between Excel 2007 & Excel 2010 Data Bars:

Using data bars to create in-cell progress charts:
You can use data bars to create in-cell progress charts (or thermo-meter charts) like this:

* Hint: The trick is to use cell background color along with data bar.
[Related: Jon Peltier has written a beautiful article reviewing data bars in Excel 2010.]
3. More Icon Sets in Conditional Formatting
Although I rarely use icons in conditional formatting, I am happy to report that MS has added 3 new sets of Icons to the conditional formatting library.
![]()
Also, you can mix and match icons depending on the rules (how I wish they didnt allow this. Mix and match can produce more evil combinations than good ones.)
![]()
What do you think about new CF Features in Excel 2010?
I am excited to try the data bars in real-world project. I find the possibility of referring to other sheets very good. Also, I am not sure if its just me, but Excel 2010 conditional formatting feels fast. In fact, not just CF, almost everything in Excel 2010 feels fast and responsive.
What about you? How are you planning to use Excel 2010 CF features in your work? Please tell us using comments.
PS: By leaving a comment, you can win a copy of Office 2010 – Home & Student Edition. Contest sponsored by Microsoft India.
References: Excel Conditional Formatting Improvements [MSDN blog]
Related: Excel 2010 – What is new? | Overview of Excel 2010 Sparklines

















6 Responses to “Make VBA String Comparisons Case In-sensitive [Quick Tip]”
Another way to test if Target.Value equal a string constant without regard to letter casing is to use the StrCmp function...
If StrComp("yes", Target.Value, vbTextCompare) = 0 Then
' Do something
End If
That's a cool way to compare. i just converted my values to strings and used the above code to compare. worked nicely
Thanks!
In case that option just needs to be used for a single comparison, you could use
If InStr(1, "yes", Target.Value, vbTextCompare) Then
'do something
End If
as well.
Nice tip, thanks! I never even thought to think there might be an easier way.
Regarding Chronology of VB in general, the Option Compare pragma appears at the very beginning of VB, way before classes and objects arrive (with VB6 - around 2000).
Today StrComp() and InStr() function offers a more local way to compare, fully object, thus more consistent with object programming (even if VB is still interpreted).
My only question here is : "what if you want to binary compare locally with re-entering functions or concurrency (with events) ?". This will lead to a real nightmare and probably a big nasty mess to debug.
By the way, congrats for you Millions/month visits 🙂
This is nice article.
I used these examples to help my understanding. Even Instr is similar to Find but it can be case sensitive and also case insensitive.
Hope the examples below help.
Public Sub CaseSensitive2()
If InStr(1, "Look in this string", "look", vbBinaryCompare) = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub
Public Sub CaseSensitive()
If InStr("Look in this string", "look") = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub
Public Sub NotCaseSensitive()
'doing alot of case insensitive searching and whatnot, you can put Option Compare Text
If InStr(1, "Look in this string", "look", vbTextCompare) = 0 Then
MsgBox "woops, no match"
Else
MsgBox "at least one match"
End If
End Sub