Here is a 2010 new year gift to all our readers – a free 2010 calendar template.
(a little secret: just change the year in “outline” sheet from 2010 to 2011, to get the next years calendar. It works all the way up to year 9999)
You can add notes to individual dates or complete month using the excel template very easily. There are 14 sheets,
- The first one called as “outline” calendar (also shown below) shows the calendar for entire year.
- The next 12 sheets show the monthly calendars from January thru December. Each month’s calendar also includes a snapshot (uses camera tool) of the previous and next month’s calendar. You can also add up to 6 notes per each date in the calendar. This is a good way to mark holidays, vacations and other important dates in the calendar.
- The last sheet shows a mini calendar – a compact yearly calendar for the year 2010 (or any other year specified in the Outline sheet). This is a good way to print a small calendar for your pocket or desk.

Download the 2010 Calendar
Download the Printable 2010 Calendar – in PDF format
Download the 2010 Calendar Spreadsheet – Excel 2007+ | Excel 2003
How the calendar works?
Just in case you are curious to know how the formula magic works.. read on.
- To generate a calendar, we need to know the year. Lets say the year is in cell A1.
- Now, for each of the 12 months – Jan thru Dec, we need to know what is the “first weekday” and “how many days” are there in that month.
- This is very simple to find, we can use formulas like
=WEEKDAY(DATE(A1,1,1))and=DATE(A1,2,1)-DATE(A1,1,1) - Now, make a grid of 6 rows by 7 columns – something like this –

- Show blanks until we reach the first date’s weekday.
- Start showing numbers in increasing order.
- Once you reach the number of days in that month, show blanks again.
- Repeat this process for all the 12 months. Neatly arrange the grids so they look like a calendar.
- That is all!
Go ahead and download the free calendar template. The file is unlocked. So poke around the formulas and see how it works.

















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