セル範囲に名前を付けてリスト化する

Dim listName As Name
 
'リストが存在したら削除
For Each listName In WORKBOOK.Names
    If listName.Name = "hoge" Then
        Range("hoge").Name.Delete
    End If
Next listName
 
WORKBOOK.Names.Add Name:="hoge", RefersTo:="=Sheet1!$A$2:$C$10"

名前を付けることについては1行で済みますが、同じ名前が既にあるとエラーになるため、先に削除してから付けるようにします。