Quote Originally Posted by captedgar
Sorry, i had a quick glance at the links you recommended for reading and none of them have any reference to my second question why (1) is used in the split function above
The links are my general signature - ie general footnote to my posts - they are not meant as specific references for your question...

As to the question regards use of (1) - I thought I had covered that in the prior post - seemingly not (though I did edit)...

The Split of "$A$1" by $ results in three strings namely: [blank], A, 1 ... the "$" character acts as nothing more than a delimiter between values.
Those three values reside in a 0 based array ... 0 base meaning that the first value occupies position 0 in the Array, 2nd value position 1 and 3rd (& final) value in position 2.

Thus:

Split("$A$1","$")(1)
the use of (1) retrieves the 2nd value from the resulting array of values, in this case "A" - the column letter.


On to your other questions - a lot of these I can't answer because we have only a partial picture:

Quote Originally Posted by captedgar
Set oRange = Range("A1", strMaxRange + "1") - what does this mean?
this is creating a Range for the headers where starting point is A1 and the end point is also on row 1 but defined by whatever the letter assigned to strMaxRange variable is - we don't know this based on your code (ie this is set elsewhere).

Quote Originally Posted by captedgar
If oFindInRange Is Nothing Then blnNullRange = True - How does this statement gets compiled i.e. whats the logic behind this?
this simply states that if the search string (as passed to the Function) can not be found in the header range then set the Boolean variable to True to flag this fact...
this Boolean flag will be used latterly to determine appropriate action to take ie:

Found: split the found address and retrive the column letter.

Not Found: display MsgBox dialog notifying user as such

Quote Originally Posted by captedgar
RangeFinder = strSplitAddress - how does strSplitAddress gets passed to RangeFinder when actually we are passing ByVal strStrFindWord As String?
The string output as retrieved from the split where the Address was found is assigned as the Functions output value - RangeFinder itself is declared as a String.

Private Function RangeFinder(ByVal strStrFindWord As String) As String

If you have other questions not related to the original Split question please ask them in a new (dedicated) thread...