Function Minus(rng1 As Range, rng2 As Range, Optional HrzVrt As Boolean = False) As Range
'SkipVought 2009 Feb 11
'--------------------------------------------------
':returns a range defined by rng1 minus rng2, _
based on either a Horizontal orientation [FALSE] _
or a Vertical orientation [TRUE]
'--------------------------------------------------
Dim r1 As Range, r2 As Range
Set Minus = Intersect(rng1, rng2)
With rng1
Select Case HrzVrt
Case True
Set Minus = Range( _
Cells(Minus.Row + Minus.Rows.Count, .Column), _
Cells(.Row + .Rows.Count - 1, .Column + .Columns.Count - 1))
Case False
Set Minus = Range( _
Cells(.Row, Minus.Column + Minus.Columns.Count), _
Cells(.Row + .Rows.Count - 1, .Column + .Columns.Count - 1))
End Select
End With
End Function