Juice Analytics, one of my favorite visualization blogs discussed about creating bubble charts that can depict search term competition among major travel sites in bubble bubble toil and trouble.
Chris, who wrote the article said,
The first tool we tried, simply on principle, was Excel 2003. As expected, making a … quality bubble chart in Excel 2003 is a hard problem. Here’s a draft of how far I got before giving in to label fatigue.
The bubbles themselves aren’t tough, but getting the labels right is hard. I’d love to see a solution, so if any reader wants to tackle it eternal fame can be yours.
Well, not that I would get eternal fame, but I wanted to give it a try, just for fun. Ever since I saw the NY Times Bubble chart on “how many times each political candidate used certain terms”, I have been itching to recreate it somewhere.
Here is the version I could create in Excel 2007

(larger version of the travel site search terms visualization)
How I made this?
- I started with travel patterns data Chris shared
- Then I used Excel formulas OFFSET() and ROW() and COLUMN() to rearrange the data in a tabular format (the original format is a matrix)
- Then I sorted the table on bubble size
- Now I made a bubble chart with 3 data series, one with bubble sizes >50%, one with 25-50% and the rest
- I formatted each series and added labels to the first two series
- Finally made some alignment and bingo
Download the excel file Travel Site Search Patterns – Excel Bubble Chart
(excel 2003 compatible, so you wont exactly see the above image, but one with slightly muffled colors)
How would you have designed the chart ?
Checkout other PHD Visualization Projects
How many Olympic Medals each country won in all those years?
Polar Clock to show time in Excel using Charts


















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