Вы, наверное, уже знаете, что можно изменить имя вкладки рабочего листа, дважды щелкнув вкладку и указав новое имя. Но что, если вы хотите делать это динамически? Что делать, если вы хотите, чтобы значение в ячейке A1 автоматически отображалось как имя вкладки?

К сожалению, в Excel нет встроенной функции для решения такого рода задач. Разработать такую ​​функцию с помощью макроса, который сделает всю работу за вас, — относительно простая задача. Например, следующий макрос изменит имя вкладки на содержимое A1:

Sub myTabName()

ActiveSheet.Name = ActiveSheet.Range("A1")

End Sub

Об этом макросе следует обратить внимание на несколько важных моментов. Прежде всего, нет проверки ошибок. Это означает, что если A1 содержит значение, которое было бы недопустимым для имени вкладки (например, вообще ничего или более 31 символа), то макрос генерирует ошибку. Во-вторых, макрос нужно запускать вручную.

Что, если вам нужен более надежный макрос, который проверяет наличие ошибок и запускается автоматически? Результат немного длиннее, но все же не слишком сложен:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Set Target = Range("A1")

If Target = "" Then Exit Sub     On Error GoTo Badname     ActiveSheet.Name = Left(Target, 31)

Exit Sub Badname:

MsgBox "Please revise the entry in A1." & Chr(13) _     & "It appears to contain one or more " & Chr(13) _     & "illegal characters." & Chr(13)

Range("A1").Activate End Sub

Чтобы настроить этот макрос, выполните следующие действия:

  1. Откройте новую книгу, в которой есть только один лист.

  2. Щелкните правой кнопкой мыши вкладку рабочего листа и выберите Просмотреть код в появившемся контекстном меню. Excel отобразит редактор VBA.

  3. Вставьте (или введите) указанный выше макрос в окно кода.

  4. Закройте редактор VBA.

  5. Найдите папку XLStart в вашей системе. (Используйте возможности поиска Windows, чтобы найти папку.)

  6. Сохраните книгу как шаблон Excel, используя имя BOOK.XLT в каталоге XLStart. Это заставляет шаблон стать вашим шаблоном для любой новой книги, которую вы создаете.

  7. Снова сохраните книгу как шаблон в том же каталоге, на этот раз с именем SHEET.XLT. Это приводит к тому, что шаблон становится шаблоном для любых новых листов, которые вы вставляете в книгу.

  8. Закройте и перезапустите Excel.

Теперь, когда вы меняете значение в ячейке A1, вкладка листа также обновляется.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2145) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Dynamic_Worksheet_Tab_Names [имена вкладок динамического рабочего листа].