You can use the offset formula in the named range instead of VBA to create a named range that dynamically grows or shrinks as needed.
http://www.excel-easy.com/examples/d...med-range.html
http://www.contextures.com/xlNames01.html
but if you want to keep the VBA:
ActiveWorkbook.Names("Salespeople").Delete
ActiveWorkbook.Names.Add "SalesPeople", RefersTo:="=DATA!$B$3:$B$15"
or more complete:
'Rename Named Range
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ThisWorkbook.Worksheets("DATA")
'Ctrl + Shift + End
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
ActiveWorkbook.Names("SalesPerson").Delete
Range("A2:A" & LastRow).Name = "SalesPerson"
Range("SalesPerson").Select
Bookmarks