Code:
Function EInstr(strBase As String, _
                strSearch As String)

On Error GoTo Cleanup

'******************************************************************************
'                                                                             *
'Author: Adam Evanovich                                                       *
'Date: 9/17/2010                                                              *
'Purpose: To count the number of occurances of one string inside of another.  *
'                                                                             *
'Arguments:                                                                   *
'strBase > String in which to search for substrings                           *
'strSearch > Substring for which to count occurances                          *
'                                                                             *
'******************************************************************************

Dim oCount As Long 'INDICATES THE COUNT OF OCCURANCES
Dim CurPos As Long 'INDICATES CURRENT STARTING POSITION OF SEARCH
Dim lReached As Boolean 'INDICATES IF LAST strSearch POSITION IS 0
Dim strSearchPos As Long 'INDICATES STARTING POSITION OF NEXT OCCURANCE

lReached = False
CurPos = 1 'START SEARCH AT BEGINNING OF BASE STRING

    Do Until lReached = True

        strSearchPos = InStr(CurPos, strBase, strSearch)

            If strSearchPos = 0 Then
                lReached = True
            Else
                oCount = oCount + 1
            End If

                CurPos = strSearchPos + Len(strSearch)

    Loop

EInstr = oCount

Cleanup:
    oCount = 0
    CurPos = 0
    strSearchPos = 0

End Function