Once in a while everyone is bound to come across this problem. You type a formula in a cell, then you press ENTER. Bam! nothing happens. You check if a donut chunk went in to the key board and some how jammed the ENTER key. So press it again, this time harder. But nothing. Excel formula showing as text instead of actual result, like this:

Now what to do?
Of course, you can be careful when eating donuts. But careful donuts sure sounds like a paradox. So instead lets roll up our sleeves and find out the reason for this mishap.
The top reason for Excel formula showing as text :
You may have accidentally pressed CTRL+` (back quote symbol, the key below escape key in your keyboard) or activated the “Show Formulas” mode in Excel. 
When you do it, excel shows the formulas instead of their results.
To fix this error and get back the values (or results) just press CTRL+` again or click on the “Show formulas button”
The next reason why formulas are shown as formulas:
You may have set the cell formatting to “Text” and then typed the formula in it.

When you set the cell formatting to “Text”, Excel treats the formula as text and shows it instead of evaluating it.
To fix this error, just select the cell, set its formatting to “General”. Now edit the formula and press enter. (Alternatively you can press F2 and then Enter after setting format to General).
The less probable reason why formulas are shown as formulas instead of values:
You may have accidentally typed a single quote ‘ before the = sign in the formula.

When you type single quote ‘ in a cell excel treats the cell contents as text and does not evaluate any formulas within.
To fix this error, just remove the single quote.
What is your experience with excel formula errors?
The very first time I pressed CTRL+` by accident, it nearly freaked me out. All the columns became too wide and the formatting went for a toss. Everything looked weird. It took me a while to figure out that I accidentally pressed the Show Formulas shortcut (CTRL+`). I felt huge relief when I got the results back.
What about you? Did the formula error ever freaked you out? What other things about formulas worry you? Pls. 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