Zebra lines, highlighting applied to alternative rows is a very good way to make tables readable & pretty.
We can use either conditional formatting or table formats to quickly add zebra lines to our data.
But what if you want a little more?
What if you want to highlight, lets say 3 rows in one color and 3 in another and repeat this …

Of course, we can use conditional formatting and come-up with some clever mix of ROW & MOD. But why waste so much of creative sauce on something as trivial as zebra line? So here is a quick alternative.
Use Table styles and tell excel how you want to highlight the lines.
Steps to create custom zebra lines
- First convert your data to table, if you have not already done it.
- Now, go to Table Design ribbon and right click on the table style you want and choose duplicate

- Excel creates a duplicate table style and opens a box to edit it.
- Give it a friendly name like myTableStyle1 or zebra-v1
- Select “First Row Stripe” and set stripe size to 2 or 3 as you want.
- Repeat the step for “Second Row Stripe” as well.

- Click OK & save your style.
- And now, apply this style to your table by selecting it from Table styles gallery.
- Your custom zebra is ready to bray and jump around.
Bonus tip #1: You can have 2 different stripe sizes too
For example you can have 5 rows for first stripe and 2 for second stripe, thus highlighting weekends in a different color.
Bonus tip #2: You can apply the same to columns too
You can apply the same concept to column stripes (banded columns) and set their sizes using table styles.
Bonus tip #3: Turn on / off zebra lines with a click
If you ever feel tired looking at all the stripes, you can quickly turn them off /on from Design Ribbon > Banded Rows

Homework: Change color when value changes
When you have few values with some duplicates, it makes sense to apply a band color whenever there is a change in value. How to set up zebra lines then? See here for your homework.
[Related: Zebras & Checker boards using Excel]
Do you use custom table styles?
Custom table styles are an easy way to tell Excel how we want our data to look. I use them often when designing a report or spreadsheet model.
What about you? Do you use custom styles? Have you tried the stripe size feature? What is your experience like? 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