Two weeks back I ran a poll asking you to tell me what is the last visible cell in your excel window. It was a casual poll. So I didnt expect a lot of responses. But, boy I was wrong! 295 of you have responded at last count. This is so much more than what I expected.
As I said, the purpose of this poll is to make a visualization out of the poll responses.
First let me show you the chart(s) I have prepared:

[click here for bigger version]
How to read this chart?
- The heat-map represents 221 rows & 89 columns worth of excel cells.
- Each cell is colored based on how much % of survey respondents could see it. The darker a cell is, more the people see it.
- The box plots at top and left show the distribution of visible columns & rows. For eg. the median columns visible is 19 and rows is 38.
- The grid lines show % of people who can see those cells progressively as indicated in the Key findings box.
- Source data: http://chandoo.org/wp/2010/10/29/last-visible-cell-poll/
- Chart inspiration: Browser Size by Google
What to do with this data?
If you publish excel files, you should fit as much as possible in to the range A1:M26.
How this chart is constructed?
- The heat-map is made with conditional formatting in Excel 2007. [video, tutorial, more..,]
- The Box plots are regular bar / column charts with extra series and a bit of formatting. Inspect the download file (link below) for details or get Jon’s box plot utility to make one.
- The legend is a regular column chart with gradient fill.
- The key findings is a text box with typed in text.
Key things to note about the data:
- Quite a few survey respondents mentioned more than one cell address in comments. I have considered only the first response.
- Many of you emailed me your cell addresses, but I did not consider that input as it was a tedious job going thru mails and extracting this information.
- I have removed one outlier where the cell address was something like A119. Rest all were fine.
Download the file with data & chart
Click here to download the file with survey data and charts [mirror here].
Feel free to play with the file to understand how it is constructed. You are welcome to play with the data and come up with alternative visualizations. Go ahead and dirty your hands…,
What do you think of this chart?
I have considered several options for visualizing this data. Finally, I took the inspiration from Google’s browser size and settled for the one you are seeing above. What do you think about it?
How would you have made this chart? Please share using comments.

















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