Lizard, а Вам обязательно это макросом нужно?
Если да, то примерно так можно
[vba]Код
Sub tt()
n1_ = "нн"
With ActiveWorkbook.Names(n1_)
.RefersTo = "='" & ActiveSheet.Name & "'!" & Split(.RefersTo, "!")(1)
End With
End Sub
[/vba]
Без макроса
Имя "лист"
Код
="'"&ПСТР(ЯЧЕЙКА("filename");ПОИСК("]";ЯЧЕЙКА("filename"))+1;33)&"'!"
Любое другое имя со ссылкой на диапазон (в файле имя "йй")
Код
=ДВССЫЛ(лист&"F9:F29")
* В 2003 и раньше все было гораздо проще - в формуле имени не нежно было писать имя листа и все отлично работало. А сейчас такое не прокатывает
Хотя не, прокатывает
Пишем имя со ссылкой на диапазон вот так
тогда оно будет работать на каждом листе с диапазоном именно этого листа (в файле имя "цц")