Hi,
Does this help?
Sub a()
Dim rCell As Range, rNamedRange As Range
For Each rCell In Range("B1:B6")
If rCell.Value = "namedRange1" Then Set rNamedRange = ModUnion(rNamedRange, rCell.Offset(0, -1))
Next
ThisWorkbook.Names.Add Name:="namedRange1", RefersTo:=rNamedRange
End Sub
Function ModUnion(Rng1 As Range, Rng2 As Range) As Range
If Rng1 Is Nothing Then
Set ModUnion = Rng2
ElseIf Rng2 Is Nothing Then
Set ModUnion = Rng1
Else
Set ModUnion = Application.Union(Rng1, Rng2)
End If
End Function
Note the use of the modified Union function - the native function doesn't like having an argument that "Is Nothing"
Bookmarks