Вам следует заглянуть в Workbook.Names или Worksheet.Names (если вы хотите ограничить указанное имя рабочим листом).
Примеры, показанные в ссылках выше, довольно хороши. В вашем случае вы хотели бы использовать Range.Value или Range.Text, найденный в ячейке, для использования в качестве строки, передаваемой в качестве аргумента «Имя» для метода Names.Add ().
При использовании VBA это может выглядеть примерно так:
ThisWorkbook.Names.Add _
Name:=Sheet1.Range("A1").Text, _
RefersTo:=Sheet1.Range("A:A"), _
Visible:=True
Выше указано, что определенное имя для столбца A будет значением (текстом), найденным в ячейке заголовка A1.
Надеюсь, это поможет!
Mike