Нельзя установить видимый заголовок / ярлык на вкладке листа, чтобы он отличался от фактического заголовка / ярлыка. Excel применяет политику отсутствия дублирования для данного имени, и данное имя является видимым именем.
Однако в VBA необязательно обращаться к рабочему листу с использованием его имени.
Из http://www.techrepublic.com/blog/10-things/10-ways-to-reference-excel-workbooks-and-sheets-using-vba/ мы узнаем, что мы можем ссылаться на листы по их индексу (в зависимости от порядка листов) или по их кодовому названию.
Индекс:
Значения индекса пригодятся, когда вам нужны не конкретные листы, а только их количество или порядок. Конечно, это не будет обычной задачей, но иногда ссылки на значения индекса могут оказаться полезными. Следующая процедура добавляет и удаляет листы в зависимости от количества листов, которое вы хотите:
Function ControlSheetNumber(intSheets As Integer)
'Add or delete sheets to equal intSheets.
Application.DisplayAlerts = False
'Delete sheets if necessary
While Worksheets.Count > intSheets
Worksheets(1).Delete
Wend
'Add sheets if necessary
While Worksheets.Count < intSheets
Worksheets.Add
Wend
Application.DisplayAlerts = True
End Function
Кодовое имя Свойство:
Код, который ссылается на объект Worksheet по имени на вкладке листа, рискует вызвать ошибку. Это потому, что вы должны помнить об обновлении кода при изменении имени листа. Мало того, что много проблем, пользователи могут изменить имя листа. Одним из способов защиты кода, который ссылается на конкретные листы по имени, является использование свойства CodeName. Кодовое имя - это имя листа по умолчанию, которое Excel назначает при его создании - Sheet1, Sheet2 и т.д.
Изменение имени листа, как показано на вкладке листа, не меняет его кодовое имя, как вы можете видеть на рисунке D. Имена в скобках - это имена листов (как показано на вкладках листов). Обратите внимание, что имена по умолчанию, имена кодов, остаются прежними, даже если вы измените имя листа.