Finally, our second visualization challenge comes to an end. We got a winner.
Background about Zoho Reports Visualization Challenge:
(skip this section if you know what I am going to say)
Back in November, 2009, I have asked the readers to come up with best possible ways to visualize a set of fictitious sales data. The objective is to make a dashboard (or chart) that would,
help a senior manager understand how the sales people have done in the 24 months. [more]
Readers from all corners of earth responded enthusiastically to this challenge and submitted 32 truly outstanding entries. I have compiled all of them in the sales dashboards post and asked you to vote for a winner.
And now we have winners.
Ladies & Gentlemen, the winner of this challenge is,
Option 4 submitted by Alex Kerin
Here is the winning sales dashboard:
click here for a bigger version
Alex Kerin – who writes at Data Driven Consulting, made this dashboard using MS Excel and Fabrice’s free sparklines add-in.
The dashboard clearly shows sales performance summaries at sales person level (a stated objective of this challenge), along with various key metrics. It follows key visualization principles, he used fewer colors, kept things as simple as possible and include headline messages.
Download Source Files: Link 1 | Link 2 | Link 3
Alex’s entry received 23 votes.
Congratulations Alex. You will receive an 8 GB iPod touch very soon.
The second prize goes to,
Option 7 submitted by Cuboo
click here for a bigger version
Cuboo – who writes at Open BI, made this dashboard using MS Excel & Palo. Cuboo is not new, he won the previous visualization challenge as well.
Download Source Files: Link 1
Cuboo’s entry received 22 votes.
Congratulations Cuboo. You will receive a copy of project management excel templates.
The third prize goes to,
Option 10 submitted by Esteban
click here for a bigger version
Esteban, made this dashboard using MS Excel.
Download Source Files: Link 1 | Link 2
Esteban’s entry received 15 votes.
Congratulations Esteban. You will receive a copy of project management excel templates.
Honorary Mentions
While there are several very good dashboards (and charts) submitted for this challenge, I *personally* liked these dashboards too.
![]() |
![]() |
![]() |
![]() |
![]() |
| (large) | (large) | (large) | (large) | (large) |
| Option 2 by Ajay | Option 5 by Arti | Option 11 by Hernan | Option 23 by Matt Cloves | Option 30 by Tessaes |
| Good colors, Layout | Interesting design, lots of dynamic stuff | Fewer charts, cool headlines | Rotatable panel chart!!! | Fewer colors, data tables |
| (details) | (details) | (details) | (details) | (details) |
Thanks to Zoho – the contest sponsor
Thanks to Zoho Reports and @aravind for pro-actively approaching me and sponsoring this contest.
Thanks to all the participants and voters
Thanks everyone for your support, participation and enthusiasm. You have made this contest a memorable experience for me as well as countless PHD readers. Thank you.

























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