Что-то вроде этого должно помочь вам ...
Public Sub CreatesNames()
Dim objSheet As Worksheet
For Each objSheet In ThisWorkbook.Worksheets
objSheet.Names.Add Name:="Name1", RefersTo:=objSheet.Range("A1")
Next
End Sub
... что-то на заметку, имена могут быть созданы на уровне листа или на уровне книги, так что, если вы собираетесьсоздавая одно и то же имя в таблицах, вам нужно использовать объект Worksheet
, а не объект Workbook
.
Так что для использования активной ячейки ...
ЛистУровень
ActiveSheet.Names.Add Name:="Name1", RefersTo:=ActiveCell
Уровень рабочей книги
ActiveWorkbook.Names.Add Name:="Name1", RefersTo:=ActiveCell
Надеюсь, это поможет.