Ok, so you have written a shiny new macro to solve all the problems. The macro, solveWorldProblemsAndMakeSomeCoffee() sits nicely in your personalmacros.xlam file somewhere in C drive. You have also installed the macro as an add-in so that it is always available.
But wait!!!
How do you run your sWPAMSC everyday in the morning?
(ok, wake up now!!!, that is short for solveWorldProblemsAndMakeSomeCoffee())
One way is to,
- Right click on sheet name
- Select View Code
- Navigate to the VBA Project corresponding to your personalmacros.xlam file
- Yawn!
- Open the module with sWPAMSC
- Run the macro
But, shouldn’t this be faster and smarter than that?
Well, it is. You can add your macro to Quick Access Toolbar so that you can run it with just a click (or by pressing a shortcut).
Here is how you can add macros to Quick Access Toolbar (Excel 2007 Version):
- First write your macro and save the workbook as an excel add-in.

- Now, install the add-in by going to Office Button > Excel Options > Add-ins
- Now, right click on QAT and select Customize

- Select Macros from “choose commands…” option.

- Now, select the macro you want to add to QAT and then press Add button

- This will add your macro to QAT with default icon. You can change the icon using Modify button.

- That is all.
Here is how you can add macros to toolbars in Excel 2003:
- First write your macro and save the workbook as an excel add-in.
- Go to Tools > Customize
- Now, click on New button to create a new toolbar.

- Give it a name. Now your new toolbar will show up in Excel 2003 UI.
- Go to Commands tab and select Macros from left. Now drag the smiley icon from right to your new empty toolbar.

- You have added a new button to your toolbar. Now click on it.
- Excel will prompt you to assign a macro to that button. Select the macro from the list shown (it includes the macros in your add-in file).
- That is all.
Now go solveWorldProblemsAndGetSomeCoffee()
How do you customize your QAT / Toolbars ?
Customizing quick access toolbar can be a very productive thing to do. I used to have a bunch of macros added to QAT for quickly accessing them when I was working.
What about you? How do you customize QAT or toolbars? Do you add macros? Share your experience 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