Страница 1 из 1
Как присвоить имя столбцу автоматически?
Добавлено: 07 июн 2005, 16:00
WP
Привет, всем! Посоветуйте, как сделать так, чтобы каждому столбцу таблицы автоматически присваивалось имя по его наименованию в шапке таблицы. Пользоваться справкой по VBA так и не научилась. Интересно, она всегда на английском...?... Всем спасибо.
Добавлено: 07 июн 2005, 18:02
pashulka
1. Выделите весь диапазон ячеек, включая "наименование в шапке таблицы" (если заголовок находится в самой первой ячейке, то возможно выделить сразу все столбцы) Затем в меню Вставка выбираете пункт Имя, затем команду Создать. В появившемся стандартном диалоговом окне Создать имена установите флажок напротив в строке выше и нажмите кнопку OK.
Примечание :
- При применении этого способа Вы не получите имя для целого столбца(ов), а только для выделенного диапазона минус заголовок.
- В MS Excel есть очень удобная возможность - использовать заголовки таблиц в качестве имён, при этом Вам не нужно будет присваивать ячейкам имена ни в ручную, ни программно.
2. В MS Excel 97 большая часть справки была переведена на русский. В остальных версиях справка по VBA вся на английском.
Добавлено: 07 июн 2005, 18:37
WP
Замечательная функция! Спасибо!
Решила всё-таки поупражняться с написанием макросов дальше. Но у меня постоянно возникают какие-то ошибки. Сейчас не могу понять, что пропустила в этом случае.
Dim r As Range
Set r = ActiveCell.CurrentRegion
r.Select
Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:=False
Добавлено: 07 июн 2005, 19:03
pashulka
Возможно на момент выполнения макроса ActiveCell не является частью заполненного диапазона, правда в этом случае Вы должны получить сообщение об ошибке (если не используете On Error …)
Код: Выделить всё
ActiveSheet.UsedRange.Item(1).CurrentRegion.CreateNames Top:=True
ActiveSheet.UsedRange.Cells(1).CurrentRegion.CreateNames Top:=True
P.S. Рекомендую обратить внимание на вторую часть моего примечания из прошлого message, так как эта возможность может серьёзно облегчить Вам работу с электронными таблицами. Если будут нужны ссылки на реальные примеры, то можете написать в приват.
Добавлено: 07 июн 2005, 20:21
pashulka
Я понимаю, что в чужой монастырь со своим уставом не ходят, но всё же …
если Ваша таблица с данными построена таким образом, что
не имеет пустых столбцов, то в этом случае можно использовать сокращённый вариант, а именно :
Код: Выделить всё
ActiveSheet.UsedRange.CreateNames Top:=True