Как получить имя листа в excel?

В Excel нет прямой функции получения имени активного листа. Теперь решение этой проблемы — создать формулу с использованием нескольких функций или использовать пользовательскую функцию, созданную с помощью VBA.

В этом уроке вы изучите оба метода на примерах.

Используйте формулу, чтобы получить имя листа

Чтобы создать формулу для получения имени рабочего листа, нам нужно использовать функции CELLS, FIND и MID. Вот функция, с помощью которой вы можете получить имя листа.

 =MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename")))

Вы вводите приведенную выше формулу в одну из ячеек листа, для которого вы хотите получить имя листа. Теперь давайте разберемся в этой формуле, и чтобы ее понять нам нужно разделить ее на четыре части.

В первой части у нас есть функция CELL, которая возвращает адрес книги с именем текущего листа.

формула для получения имени рабочего листа

А вот адрес, который мы получили из функции ячейки. Здесь вы видите, что в конце адреса указано имя листа и вам нужно получить его имя.

адрес электронной таблицы

Теперь во второй части у нас есть функция НАЙТИ, которая использует функцию ячейки для получения адреса и определения позиции символа, который находится ровно на одну позицию перед именем листа.

функция поиска

И как только вы получите номер позиции «]», вам нужно добавить к нему 1, чтобы получить позицию первого символа имени листа.

добавить 1, чтобы получить позицию

Теперь в третьей части у вас есть функции LEN и CELL для подсчета символов на всем пути.

функция len-and-cell

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

путь к адресу электронной таблицы

А в четвертой части, используя функцию MID, в результате вы получаете имя листа.

Создайте пользовательскую функцию для получения имени листа.

Получить имя листа через UDF — самый простой способ. Вам не нужно создавать сложную формулу, а нужен простой код, подобный этому.

определяемая пользователем функция для получения имени листа
 Function mySheetName() mySheetName = ActiveSheet.Name End Function

Теперь давайте посмотрим, как использовать этот код для извлечения имени текущего листа в ячейку. Используйте следующие шаги:

  1. Сначала перейдите на вкладку «Разработчик» и нажмите «Visual Basic».
    developer-tab
  2. Теперь в редакторе Visual Basic перейдите к параметру «Вставить» и нажмите «Модуль», чтобы вставить модуль.
    module-to-insert-module
  3. После этого перейдите в окно кода и вставьте туда приведенный выше код.
    code-window
  4. В конце закройте редактор Visual Basic и вернитесь к электронной таблице.

Теперь выберите одну из ячеек на листе, имя которой вы хотите получить, и введите в нее следующую функцию.

выберите любую ячейку, чтобы получить имя

Подробнее о создании пользовательской функции вы можете узнать из этого руководства.

Получить файл Excel

Скачать