
For the first time since starting this blog, I have crossed 500 RSS Subscribers today. Exactly an year ago, this blog had a small number of 25 readers and today the count reached to 505, with over a hundred of them reading updates through email. I am very happy to find this many passionate readers who force me everyday to come up with interesting articles here.
A small introduction for people who joined the party late:
Pointy Haired Dilbert – Chandoo.org is about excel tips, technology tidbits, business insights and occasional rants about my life. I am Chandoo, business analyst by profession and curious by nature. When I started this blog in 2004, the intention was to write about my MBA life at IIM Indore. Later this blog transformed in to a place where I share my ideas about excel, advertising, business, technology, photography, personal finance and a whole bunch of interesting things.
Featured posts to get you started:
Be an Excel Conditional Formatting Rock Star
11 very useful excel keyboard shortcuts
73 Free Designer Quality Excel Chart Templates
Tracking mutual fund / Stock portfolios using Excel
Become a Dashboard Ninja with Bullet Graphs
Getting RSS feeds to your Excel Sheet – Learn how to
How to count words in a cell using excel
Join the 500+ reader community by subscribing to RSS feed. Or get updates through email, every weekday. Get in touch with me: chandoo [dot] d [at] gmail [dot] com. Or know more.

















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