Recently I saw a big screaming ad that said “the chartbuster rules”. Of course, I know that chartbusters rule. Not just because I was one of them 🙂
So I got curious and read on. And I realized the ‘chartbuster’ is actually a car, not some cool, spreadsheet waving, goatee sporting dude like Jon Peltier. What a bummer!
And then to my horror of horrors, I saw the exploding 3d pie chart, with reflection effects & glossy colors. And the sole purpose of the chart is to create an impression that Verna sells better than any car in India.
First take a look at the chart:

Now for criticism
Obviously there is no denying that Verna sells better. If you look at the number of units sold, Verna’s 56,486 is better than any other numbers.
But is that the impression the chart gives?
If you just look at slicers and colors (which is what you would do), you feel that Verna has 40-45% market share.
What is the reality? It is 31.4%
Why such a distortion in our perception?!?
This is because, the ad uses a mildly evil magic called 3d pie charts, to distort what you perceive.
Then the chart maker sprinkled this 3d pie chart with assorted poisonous sprouts called as ‘customized rotation of slices’ and ‘exploding the pie for Verna, to make it look big’.
Now, the chart means one thing, but says another. Its like my wife when she wants new shoes.
Can chart rotation impact your perception – here is the proof!
Now, you might be wondering, “Oh Chandoo, come on my man. Why would I be dumb enough to fall for this.”.
So I have made a proof. I made a similar 3d pie chart from these exact numbers. Then I rotated it from 0 to 360 degrees. And you can see how the slices of pie play with your eye.
So what is a better alternative for this chart?
In this case a column chart is better. It clearly shows the leadership position of Verna without resorting to sneaky tricks.

What more, you can format the column chart so that it has all the bling! (not that I recommend such over formatting)

PS: A newer version of this ad features column chart, albeit with convoluted staircase representation.
What do you think about rotated, exploded 3d pie charts
The only time I want to rotate a pie is when it is too big and the portion I want to eat is on the other side.
What about you? do you make 3d pies? Are they tasty or sneaky (like the Verna pie)?
Share your thoughts using comments.
Take our 3d pie pledge
As a fun exercise, why don’t you take our 3d Pie pledge. Here it is.
I promise to never make a 3d pie chart. If I ever see one, I promise to not rotate or explode it. I also promise to create alternative charts (usually column, bar, line or scatter plots) so that my audience can see the truth better.
And oh yeah, I promise to bake & eat pies whenever possible. Apart from cakes, pastries, ice creams, biscuits and other assorted fun foods that is.
signed…
Go ahead and take the pledge
PS: Chartbuster series of articles & more charting principles.

















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