Чтобы ответить на ваши комментарии из двух предыдущих ответов (чьи, на мой взгляд, соответствуют вашим потребностям).
Вот способ определения именованного диапазона с помощью vba:
Dim Rng1 As Range
'Change the range of cells (A1:B15) to be the range of cells you want to define
Set Rng1 = Sheets("Sheet1").Range("A1:B15")
ActiveWorkbook.Names.Add Name:="MyRange", RefersTo:=Rng1
Источник
Вот способ создать таблицу с помощью vba (помните, что она будет работать только в Excel 2007 или более поздней версии):
Sub CreateTable()
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$B$1:$D$16"), , xlYes).Name = _
"Table1"
'No go in 2003
ActiveSheet.ListObjects("Table1").TableStyle = "TableStyleLight2"
End Sub
Источник