Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Lr = Columns("B").Rows(Rows.Count).End(xlUp)
Select Case True
Case Target.Cells.Count > 1
Case Not Intersect(Target, Range("B4:B" & Lr.Row)) Is Nothing
With WorksheetFunction
Target.Validation.Modify Formula1:= _
.Substitute(.TextJoin(",", True, ActiveWorkbook.Names(Target.Offset(0, -1).Value).RefersToRange), "_", " ")
End With
End Select
End Sub