Автоматическое название листов в excel

Обычно мы можем легко переименовать рабочий лист, щелкнув правой кнопкой мыши лист на вкладке «Лист» и выбрав «Переименовать» из контекстного меню в Excel. Что делать, если переименовать все / несколько листов с указанными значениями ячеек? А что, если динамическое присвоение имени листу на основе указанного значения ячейки? В этой статье несколько методов помогут вам легко их решить.

  • Динамически называть лист на основе значения ячейки с помощью VBA
  • Назовите несколько листов на основе значений ячеек в соответствующих листах
  • Назовите несколько листов из указанного списка

Динамически называть лист из значения ячейки с помощью VBA

Мы можем динамически назвать рабочий лист на основе значения определенной ячейки с помощью VBA в Excel, и вы можете сделать следующее:

Шаг 1. Щелкните правой кнопкой мыши рабочий лист на вкладке «Лист», которую вы будете динамически называть по значению ячейки, и выберите Просмотреть код из контекстного меню.

Шаг 2. В открывшемся окне Microsoft Visual Basic для приложений вставьте следующий код VBA в окно модуля.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Range("A1")
If Target = "" Then Exit Sub
Application.ActiveSheet.Name = VBA.Left(Target, 31)
Exit Sub
End Sub

Внимание: Этот VBA может динамически переименовывать лист на основе значения ячейки A1, и вы можете изменить A1 на другие ячейки в зависимости от ваших потребностей.

Шаг 3. Сохраните код VBA и закройте окно Microsoft Visual Basic для приложения.

Затем вы увидите, что имя листа динамически изменяется в зависимости от указанного значения ячейки.

Ноты:

  1. Если указанная ячейка пуста, рабочий лист не будет переименован;
  2. Если вы введете специальные символы в указанную ячейку, например *, появится предупреждение об ошибке.

Назовите несколько листов на основе значений ячеек в соответствующих листах

Работы С Нами Kutools for Excel’s Переименовать несколько листов функция, вы можете быстро назвать все / несколько листов с указанной ячейкой на соответствующем листе. Например, переименуйте каждый лист со значением Cell A1 на каждом листе.

1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы. Смотрите скриншот:

2. В открывшемся диалоговом окне «Переименовать несколько листов» (см. Снимок экрана ниже):

(1) В Worksheets список, пожалуйста, проверьте рабочий лист, имя которого вы измените;
(2) В Параметры переименования раздел, пожалуйста, проверьте Заменить исходное имя листа вариант;
(3) В Имя нового рабочего листа раздел, пожалуйста, проверьте Переименовать листы с определенной ячейкой и укажите ячейку, содержимое которой вы назовете соответствующему листу.
(4) Щелкните значок Ok кнопку.

И теперь все проверенные листы были переименованы с указанной ячейкой каждого листа. Смотрите скриншот:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Назовите несколько листов из указанного списка

Kutools for ExcelАвтора Переименовать несколько листов функция также поддерживает наименование нескольких листов со значениями ячеек в указанном диапазоне.

1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы.

2. В открывшемся диалоговом окне «Переименовать несколько листов» вам необходимо (см. Снимки экрана ниже):

(1) В Worksheets list, проверьте рабочий лист, который вы переименуете, со значениями ячеек.
(2) В Параметры переименования раздел, проверьте Заменить исходное имя листа вариант;
(3) В Имя нового рабочего листа раздел, проверьте Из определенного диапазона вариант, щелкните  кнопку, чтобы открыть второе диалоговое окно Rename Multiple Worksheets, выберите ячейки, которые вы переименуете по их значениям, и нажмите кнопку OK кнопку.
(4) Щелкните значок Ok кнопку, чтобы применить переименование.

Затем вы увидите, что все отмеченные имена рабочих листов изменены на указанные значения ячеек. См. Снимок экрана ниже:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Демонстрация: имена листов на основе значений ячеек (из списка) в Excel


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (5)


Оценок пока нет. Оцените первым!

Здравствуйте! Мне нужно чтобы лист сам автоматически переименовывался в название из ячейки. Например на листе1 есть ячейка A1. Там, в ячейке забито слово Колобок. Нужно чтобы лист1 сам переименовывался в название Колобок.


Через кнопку наверное так:
Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
End Sub

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic спасибо, но как же автоматом сделать? ???


Цитата: ActionFace от 05.01.2010, 17:32
Wasilic спасибо, но как же автоматом сделать? ???

Что значит «АВТОМАТОМ»? Если не по нажатию кнопки, то при каких условиях? При включении комьютера или открытия книги? Или ….???
Может я и не смогу ответить.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic , впринципе и так хорошо! Спасибо! Но можно еще вопрос? У меня есть и второй лист который должен переименовываться :) Можно написать код для двух листов в пределах одного макроса? У листа2 есть свой A1 и там название предположим пчелка.


Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
    NewIm = Sheets(«Лист2»).Range(«A1»)
    Sheets(«Лист2»).Name = NewIm
End Sub

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

В общем то, это в тему о макросах VBA.
Внизу под сообщением есть выбор тем:
Выбери «Проекты VBA»
А много  разных ответов поищи здесь.
http://msoffice.nm.ru/faq/macros.htm

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Если автоматически, то может быть так?
Меняйте ячейки А1 в разных  листах

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Круто! :D Спасибо! Но как вы это сделали? Я не вижу ни формулы, ни макроса в присланном файле. Можете написать пошаговую инструкцию? :'(


Нужно два раза кликнуть мышой по «Эта книга» в VBA. Там макрос и сидит.

Сам макрос:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then
On Error Resume Next
Sh.Name = Sh.Range("a1")
If Not Err.Number = 0 Then MsgBox "Лист " & Sh.Name & " нельзя переименовать в " _
& Sh.Range("a1") & "," & Chr(10) & "лист " & Sh.Range("a1") & " уже есть в этой книге."
On Error GoTo 0
End If
End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Спасибо Большое все заработало! Не сочтите за наглость, а можно вас еще кое о чем спросить? Проблема такая. Мне нужно с экспортить с листа1 данные в текстовом файле с разделителем табуляции(.txt) Но вот незадача. В моих данных имеются точка с запятой ; . И при создании txt в экспортируемом тексте у меня появляются кавычки » ! Кавычки мне не нужны! Как можно от них избавиться? Я конечно могу не экспортировать, а просто скопировать и вставить, но проблема в том что у меня данные в разных ячейках и при копировании txt понимает что это разные ячейки и ставит между ними невидимую палку |. Как от нее можно избавиться?


Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;
Но этот Excel делает между словом Kolobok и знаком ; невидимый промежуток в виде знака | и самое страшное, между знаком ; excel пишет кавычки!
То есть TXT файл получается: «Kolobok;»   1   «;»
Приложил пример.


Если я правильно понял, необходимо сохранить значения из ячеек разделив их знаком точка с запятой «;». Попробуйте сохранить в формате *.csv. У меня на 2003 как раз такой результат получается. Формат .csv можно просто переименовать в .txt или же напрямую открыть текстовым редактором.


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

1. В случае изменения ячейки вручную на активном листе
Private Sub Worksheet_Change(ByVal Target As Range)
    Me.Name = Me.Cells(1, 1)
End Sub

2. В случае измениния ячейки в неактивном листе посредством формулы-ссылки (в приложении третий лист)
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;).  
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;).  
5.Потом делаю экспорт в формате txt с раздел табуляции.

Извратиться, как написал boroda, наверное можно через дополнительный лист  формулой  «=Лист1!A1 & Лист1!B1 & Лист1!C1»  

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;

Посмотри файлик. Выкрутишся наверняка.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#1

07.09.2015 11:55:30

У меня есть макрос:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("А1") Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Target.Parent.Name = Target.Value
            End If
        End If
    End If
End Sub

То есть когда изменяется ячейка А1, название соответствующего листа меняется автоматически. Но у меня в А1 не просто текст или числа. Применяется формула. И пока я не нажму снова на эту ячейке в формулу не нажму ентер, название листа не меняется. Макросу нужно вручную показывать что расчет произошел и теперь его значение другое. Пробовала сама получилось примерно вот это:

Код
Sub Ìàêðîñ1()

    Range("А1").Select
    ActiveCell.FormulaR1C1 = "=TEXT(RC[-10],""ää.ÌÌ.ãããã"")&R[1]C[-1]"
    Range("А2").Select
End Sub

Но совместить их правильно я не смогла. Чего-то не работает да и как совмещать правильно не знаю.
Во вложении есть файл с примером.
Z в макросах не бум бум. Надеюсь на Вашу помощь! Заранее спасибо!

P.S. В примере макрос находится: Исходный текст  —  контекстное меню листа

Прикрепленные файлы

  • Лист Microsoft Excel (2).xlsm (12.94 КБ)

Изменено: Honey07.09.2015 13:36:09

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#2

07.09.2015 12:10:28

на второй ссылке в поиске в модуль листа

Код
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub

Лень двигатель прогресса, доказано!!!

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Сергей, спасибо большое! Я была бы благодарна, если бы к тому же и объяснили еще подробней что и куда)))
Простите, я совсем чайник…

Изменено: Honey07.09.2015 12:37:11

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

вот

Лень двигатель прогресса, доказано!!!

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Сергей,УАУ!!! То есть Вы тот макрос вообще убрали? Это так круто! Спасибо большое прибольшое!!! А можете объяснить почему так? Что означает именно этот макрос?

И еще вопрос… Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3? Как тогда мне быть? Можно ли переформировывать макрос?

Изменено: Honey07.09.2015 12:44:20

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#6

07.09.2015 12:44:26

Цитата
Honey написал: А можете объяснить

неа, патамушто я тоже чайник макрос нашел поиском а лезть в справку мне лень

Лень двигатель прогресса, доказано!!!

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#7

07.09.2015 12:47:10

Что Вы хотите, чтобы получилось?
В верхнем макросе — код, который срабатывает только на событие «Изменение (…_Change) значения в ячейке».
Это событие происходит, если Вы нажали на яч. например F2? а затем — ентер..
В самом коде написано, что отслеживаются 3 условия первое из которых — это изменение значения в яч. А1 (If Target = Range(«А1») Then).

Ваш код — это просто запись макрорекордером процесса редактирования ячейки А1, в которой записана формула.

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

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Cells(1, 1)
    End With
End Sub

или в модуль каждого листа код Сергея.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Но в А1 должна быть формула

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#9

07.09.2015 12:51:36

Цитата
Honey написал: Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3?

А это куда применить? Из какой ячейки должно браться наименование листа?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Каждый день будут создаваться новые листы в книге. И соответственно каждый день меняется дата и фамилия в ячейках. Поэтому я хочу чтобы в зависимости кто и когда применял файл изменялось название соответствующего листа, просто чтобы было легче прослеживать и далее применять данную информацию для др формул. При этом возможно в будущем названия листов будут исходить из других ячеек на этом листе. Как мне это можно контролировать? В макросе, который я использовала до этого есть пометка из какой именно ячейки берутся данные. Можно что-то вроде этого?

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#11

07.09.2015 12:53:15

Цитата
Honey написал: Вы тот макрос вообще убрали?

Тот макрос отслеживал 3 условия, макрос Сергея — только одно.
Условия, что А1 не пустая If Target.Value <> «» Then) и что его длина не больше 30 символов (If Len(Target.Value) < 30 Then) — он не отслеживал.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#12

07.09.2015 12:53:16

Цитата
Михаил Лебедев написал: Но в А1 должна быть формула

А если она будет меняться? Например не в А1 а в М6?

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

.Cells(6, 13)

Изменено: Сергей07.09.2015 12:56:00

Лень двигатель прогресса, доказано!!!

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Может лучше вести

ЛОГ

работы с файлом?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Sanja, это нужно мне также для того, чтобы путь к данным в листе я могла применять в формуле ДВССЫЛ… Мне так удобнее будет…
Но статью обязательно прочитаю. Уже взяла себе на заметку. Спасибо!!!)))

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#16

07.09.2015 13:32:39

Цитата
Honey написал:
При этом возможно в будущем названия листов будут исходить из других ячеек на этом листе

Возможно Вам поможет вот такой вариант.
Дать собственное имя той ячейке, из которой макросом будет браться имя для листа.
Тогда эту ячейку можно перетаскивать (или «вырезать-вставить») в любое место листа.

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Range("ИмяЛиста")
    End With
End Sub

А вообще — Ваш подход, на мой взгляд, не очень удачный…

Цитата
Honey написал:
Каждый день будут создаваться новые листы в книге. И соответственно каждый день меняется дата и фамилия в ячейках. Поэтому я хочу чтобы в зависимости кто и когда применял файл изменялось название соответствующего листа, просто чтобы было легче прослеживать и далее применять данную информацию для др формул

Вы сколько листов планируете создать в одной книге? [рабочих дней в году] * [кол-во менеджеров]? У Вас достаточно мощный компьютер?

Прикрепленные файлы

  • Лист Microsoft Excel (2).xlsm (15.35 КБ)

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#17

08.09.2015 05:36:11

Михаил Лебедев,спасибо большое! Ваш последний вариант — то, что нужно! Насчет остального: компьютер достаточно мощный, до этого они просто вручную переименовывали листы — у каждого свой формат, поэтому удобнее если все будет автоматически выводиться в одном. Книга создается на месяц, каждый день по 10 максимум новых листов на одного менеджера. Как обычно, макрос не позволяет создавать копии листа (н-р 01.02.10Соколов, а копия 01.02.10Соколов (2) — выдает ошибку), но это небольшая проблема))) Ведь при этом он все-равно продолжает отлично работать!
Еще раз огромное спасибо всем!!!

Содержание

  • Процесс переименования
    • Способ 1: контекстное меню ярлыка
    • Способ 2: двойной щелчок по ярлыку
    • Способ 3: кнопка на ленте
    • Способ 4: использование надстроек и макросов
  • Вопросы и ответы

Лист в Microsoft Excel

Как известно, программа Excel предоставляет возможность пользователю работать в одном документе сразу на нескольких листах. Название каждому новому элементу приложение присваивает автоматически: «Лист 1», «Лист 2» и т.д. Это не просто слишком сухо, с чем ещё можно смириться, работая с документацией, но еще и малоинформативно. Пользователь по одному наименованию не сможет определить, какие данные размещены в конкретном вложении. Поэтому актуальным становится вопрос переименования листов. Давайте разберемся, как это делается в Экселе.

Процесс переименования

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

Прежде, чем перейти непосредственно к описанию способов переименования, выясним, какие названия давать можно, а присвоение каких будет некорректным. Имя может быть присвоено на любом языке. При его написании можно использовать пробелы. Что же касается основных ограничений, то следует выделить следующие:

  • В наименовании не должны присутствовать такие символы: «?», «/», «», «:», «*», «[]»;
  • Название не может быть пустым;
  • Общая длина наименования не должна превышать 31 знак.

При составлении имени листа нужно учитывать вышеуказанные правила. В обратном случае программа не даст завершить данную процедуру.

Способ 1: контекстное меню ярлыка

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

  1. Кликаем правой кнопкой по ярлыку, над которым хотим произвести манипуляцию. В контекстном меню выбираем пункт «Переименовать».
  2. Переход к переименованию листа в Microsoft Excel

  3. Как видим, после этого действия поле с названием ярлыка стало активным. Просто набираем туда с клавиатуры любое подходящее по контексту наименование.
  4. Поле свтало активным в Microsoft Excel

  5. Жмем на клавишу Enter. После этого листу будет присвоено новое имя.

Лист переименован в Microsoft Excel

Способ 2: двойной щелчок по ярлыку

Существует и более простой способ переименования. Нужно просто кликнуть двойным щелчком по нужному ярлыку, правда, в отличие от предыдущего варианта, не правой кнопкой мыши, а левой. При использовании данного способа никакого меню вызывать не нужно. Наименование ярлыка станет активным и готовым к переименованию. Вам останется только набрать нужное название с клавиатуры.

Ярлык готов к переименованию в Microsoft Excel

Способ 3: кнопка на ленте

Переименование можно также совершить с помощью специальной кнопки на ленте.

  1. Кликнув по ярлыку, переходим на лист, который нужно переименовать. Перемещаемся во вкладку «Главная». Жмем на кнопку «Формат», которая размещена на ленте в блоке инструментов «Ячейка». Открывается список. В нём в группе параметров «Упорядочить листы» нужно кликнуть по пункту «Переименовать лист».
  2. Переход к переименованию листа через ленту в Microsoft Excel

  3. После этого наименование на ярлыке текущего листа, как и при использовании предыдущих способов, становится активным. Достаточно изменить его на нужное пользователю название.

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

Способ 4: использование надстроек и макросов

Кроме того, существуют специальные настройки и макросы, написанные для Эксель сторонними разработчиками. Они позволяют производить массовое переименование листов, а не делать это с каждым ярлыком вручную.

Lumpics.ru

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

  1. Нужно в таблице Excel составить два списка: в одном перечень старых названий листов, а во втором – список наименований на которые вы хотите их заменить.
  2. Два списка в Microsoft Excel

  3. Запускаем надстройки или макрос. Вводим в отдельное поле окна надстройки координаты диапазона ячеек со старыми наименованиями, а в другое поле – с новыми. Жмем на кнопку, которая активирует переименование.
  4. Запуск группового переименования в Microsoft Excel

  5. После этого, произойдет групповое переименование листов.

Результаты группового переименования в Microsoft Excel

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

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

Как видим, переименовать листы в программе Excel можно с помощью нескольких вариантов действий. Одни из них интуитивно понятны (контекстное меню ярлыков), другие – несколько более сложные, но тоже не содержат особенных проблем в освоении. Последнее, в первую очередь, относится к переименованию с помощью кнопки «Формат» на ленте. Кроме того, для массового переименования можно также применять макросы и надстройки сторонних разработчиков.

Еще статьи по данной теме:

Помогла ли Вам статья?

Содержание

  1. Требования к именам листов
  2. Процесс переименования
  3. контекстное меню ярлыка
  4. двойной щелчок по ярлыку
  5. Как переименовать лист рабочей книги при помощи мыши?
  6. Вставка нового листа в Excel
  7. Обращение к рабочим листам
  8. Скрытие и отображение листов
  9. Описание задачи
  10. Как копировать и переименовать лист Excel макросом
  11. Перемещение/копирование листов в Excel
  12. Как сменить название листа
  13. Как изменить имя листа при помощи контекстного меню?
  14. Удаление листа в Excel

Требования к именам листов

К именам листов рабочей книги предъявляется несколько ограничений:

1) длина введенного имени не должна превышать 31-го знака;

2) имя листа не должно содержать ни одного из следующих знаков: двоеточи” ( : ), косая черта ( / ), вопросительный знак ( ? ), звездочка ( * ) и квадратные скобки ( [ ] );

3) имя не должно быть пустым.

Процесс переименования

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

Прежде, чем перейти непосредственно к описанию способов переименования, выясним, какие названия давать можно, а присвоение каких будет некорректным. Имя может быть присвоено на любом языке. При его написании можно использовать пробелы. Что же касается основных ограничений, то следует выделить следующие:

  • В наименовании не должны присутствовать такие символы: «?», «/», «», «:», «*», «[]»;
  • Название не может быть пустым;
  • Общая длина наименования не должна превышать 31 знак.

При составлении имени листа нужно учитывать вышеуказанные правила. В обратном случае программа не даст завершить данную процедуру.

контекстное меню ярлыка

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

  1. Кликаем правой кнопкой по ярлыку, над которым хотим произвести манипуляцию. В контекстном меню выбираем пункт «Переименовать».
  2. Как видим, после этого действия поле с названием ярлыка стало активным. Просто набираем туда с клавиатуры любое подходящее по контексту наименование.
  3. Жмем на клавишу Enter. После этого листу будет присвоено новое имя.

двойной щелчок по ярлыку

Существует и более простой способ переименования. Нужно просто кликнуть двойным щелчком по нужному ярлыку, правда, в отличие от предыдущего варианта, не правой кнопкой мыши, а левой. При использовании данного способа никакого меню вызывать не нужно. Наименование ярлыка станет активным и готовым к переименованию. Вам останется только набрать нужное название с клавиатуры.

Как переименовать лист рабочей книги при помощи мыши?

Для переименования листа необходимо:

1) в окне открытой книги дважды щелкнуть левой кнопкой мыши на ярлычке нужного листа;

2) набрать нужное имя листа, соблюдая требования к листам, изложенные выше;

3) нажать клавишу Enter на клавиатуре для закрепления введенного имени.

  1. Чтобы вставить новый рабочий лист, найдите и нажмите кнопку Новый лист.
  2. Откроется новый пустой лист.

Для того чтобы изменить количество листов, открываемых по умолчанию в новой книге Excel, перейдите к представлению Backstage, нажмите Параметры, затем выберите количество листов, которые необходимо включать в каждую новую книгу.

Обращение к рабочим листам

Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.

Откройте редактор VBA и обратите внимание на вашу книгу в проводнике, где уникальные имена листов указаны без скобок, а в скобках – имена листов, отображаемые на ярлычках в открытой книге Excel. Уникальные имена листов отсортированы по алфавиту и их расположение по порядку не будет соответствовать их индексам (номерам), если листы перемещались по отношению друг к другу. Индексы листов смотрите по порядку расположения ярлычков в открытой книге. Переместили листы – изменились их индексы.

Обращение к рабочему листу в коде VBA Excel:

‘По уникальному имени

УникИмяЛиста

‘По индексу

Worksheets(N)

‘По имени листа на ярлычке

Worksheets(“Имя листа”)

  • УникИмяЛиста – уникальное имя листа, отображаемое в проводнике редактора VBA без скобок, с помощью кода VBA изменить его невозможно.
  • N – индекс листа от 1 до количества всех листов в книге, соответствует порядковому номеру ярлычка этого листа в открытой книге Excel.
  • Имя листа – имя листа, отображаемое в проводнике редактора VBA в скобках, с помощью кода VBA изменить его можно.

Количество листов в рабочей книге Excel определяется так:

‘В активной книге

Worksheets.Count

‘В любой открытой книге,

‘например, в «Книга1.xlsm»

Workbooks(“Книга1.xlsm”).Worksheets.Count

Скрытие и отображение листов

Для скрытия и отображения рабочих листов в VBA Excel используется свойство Worksheet.Visible со следующим синтаксисом:

expression.Visible

где expression – переменная, представляющая собой объект Worksheet. Свойству Worksheet.Visible могут присваиваться следующие значения:

  • False – лист становится невидимым, но он будет присутствовать в списке скрытых листов, и пользователь сможет его отобразить с помощью инструментов рабочей книги Excel.
  • xlVeryHidden – лист становится супер невидимым и его не будет в списке скрытых листов, пользователь не сможет его отобразить. Актуально для Excel 2003-2016.
  • True – лист становится видимым.

Аналоги присваиваемых значений:

  • False = xlHidden = xlSheetHidden = 1
  • xlVeryHidden = xlSheetVeryHidden = 2
  • True = xlSheetVisible = -1 (константа xlVisible вызывает ошибку)

Примеры:

Лист1.Visible = xlSheetHidden

Лист2.Visible = 1

Worksheets(Worksheets.Count).Visible = xlVeryHidden

Worksheets(“МойЛист”).Visible = True

Как создать, скопировать, переместить или удалить рабочий лист с помощью кода VBA Excel, смотрите в этой статье.

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Описание задачи

Как правило, когда мы долго работаем с большим количеством листов, возникает потребность в их переименовании. Переименовать листы поштучно достаточно просто дважды кликнув по вкладке и введя новое название. Однако, если листов десятки, то это утомительно и отнимает время. Гораздо удобнее использовать надстройку VBA-Excel.

C помощью нее переименовать все листы в книге можно следующим образом:

  1. Нужно подготовить два списка. Первый с перечнем наименований текущих листов. Второй – с новыми наименованиями листов. Проще всего сделать два столбца в первом старые наименования и рядом список, как нужно переименовать.
  2. Перейдите на вкладку VBA-Excel (она будет доступна после установки программы).
  3. В меню Диспетчеры найдите пункт Диспетчер листов.
  4. В диспетчере выберите команду Переименовать
  5. В диалоговом окне Переименовать листы из выделенного списка укажите диапазон со старыми наименованиями листов и аналогичный диапазон, содержащий новые названия, которые должны получиться в процессе переименования.

    При необходимости можно заполнить диапазон текущими названиями листов нажав кнопку Заполнить.
  6. Нажмите кнопку Переименовать.

Как копировать и переименовать лист Excel макросом

Представьте ситуацию: Вы готовите планы работ для сотрудников определенного отдела фирмы. Пример таблицы плана выглядит так:

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

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

Техническое Задание (ТЗ) для макроса заключается в следующем. После выделения ячеек, которые содержат названия для листов нужно скопировать лист с шаблоном для планов работ ровно столько сколько будет выделенных ячеек и ввести соответствующие названия в ярлычки.

Для этого сначала откройте редактор кода макроса: «РАЗРАБОТЧИК»-«Код»-«Visual Basic» (ALT+F11):

В редакторе создайте новый модуль выбрав инструмент «Insert»-«Module» и введите в него следующий код макроса:

SubPlanRabot()
DimdiapazAsRange
DimiAs Long
DimlistAsWorksheet
On Error Resume Next
Setdiapaz = Application.InputBox("Пожалуйста, выделите диапазон ячеек, который содержит названия для новых листов!", Type:=8)
On Error GoTo0
IfdiapazIs Nothing Then Exit Sub
Setlist = ActiveSheet
Fori = 1Todiapaz.Count
list.Copy after:=ActiveSheet
ActiveSheet.Name = Left(diapaz(i), 31)
Next
End Sub

Теперь если вы хотите скопировать лист шаблона для заполнения плана работ и создать копии плана для каждого сотрудника имена с фамилиями которых будут присвоены названиям листа, то перейдите на исходный лист с шаблоном плана работ и выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«PlanRabot»-«Выполнить». Сразу же после запуска макроса появиться диалоговое окно:

Теперь перейдите на лист «Имена и Фамилии» и выделите в нем диапазон ячеек, которые содержат имена и фамилии сотрудников. И нажмите на кнопку ОК.

В результате чего макрос сам автоматически скопирует планы работ для каждого сотрудника и присвоит новым листам соответственные имена и фамилии.

Перемещение/копирование листов в Excel

Перемещать листы в Excel с помощью мышки очень просто: возьмите ярлычок листа и, двигаясь по горизонтали, перетащите его на новое место.

Если во время этой операции вы нажмете и будете удерживать клавишу [Ctrl], то лист… правильно, скопируется! (Вспомните, как мы копировали файлы в WINDOWS ). То же самое можно делать с группой листов.

Эту же операцию можно выполнить в Excel с помощью команды контекстного меню листа Переместить/скопировать или команды Правка/Переместить/скопировать лист . Ими особенно удобно пользоваться, если вы хотите скопировать или переместить лист в другую книгу.

Перед копированием или перемещением листа в другую книгу необходимо открыть книгу-получатель. Кроме того, в случае копирования не забудьте установить флажок в поле Создать копию . В противном случае лист просто переместится в указанное вами место.

Задание для самостоятельной работы:

В книге Мои таблицы. xls переместите лист Население Земли в конец книги, верните его на прежнее место, сделайте копию листа в этой же книге, скопируйте его в новую книгу.

Создайте пустой файл Мои таблицы-копии.xls ( для этого новую рабочую книгу сохраните под этим названием в каталоге C:ST). Скопируйте в него лист Население Земли.

Как сменить название листа

При создании новой книги Excel рабочие листы по умолчанию носят имя Лист1, Лист2 и т.д.

Как правило, листы переименовывают в более подходящие имена, в зависимости от его содержания. Это может быть и «Отчет» и «График» и т.д. Чтобы переименовать название листа, дважды кликните на ярлыке данного листа.

Программа выделит этот ярлык и включит название в режим редактирования, так что вы сможете прописать любое название какое захотите.

НО!

1. Название листа может содержать максимум до 31 символа, причем пробелы допускаются.

2. В названии листа нельзя прописывать следующие символы:

* (звездочка).

: (двоеточие);

/ (косая черта);

[ ] (квадратные скобки);

(кавычка);

< > угловые скобки);

? (знак вопроса);

(обратная косая черта);

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

Как изменить имя листа при помощи контекстного меню?

Чтобы переименовать лист при помощи контекстного меню, нужно:

1) в окне открытой книги один раз кликнуть правой кнопкой мыши на ярлыке нужного листа;

2) в контекстном меню выбрать пункт “Переименовать”;

3) набрать новое имя листа в соответствии с требованиями к именам листов;

4) нажать клавишу Enter на клавиатуре, чтобы закрепить новое имя.

Удаление листа в Excel

  1. Щелкните правой кнопкой мыши по ярлычку листа, который необходимо удалить, и из контекстного меню выберите пункт Удалить.
  2. Лист будет удален.

Удаление листа из рабочей книги нельзя отменить. Это одно из немногих необратимых действий в Excel. Хорошенько подумайте, прежде чем удалять их.

Если требуется ограничить изменения, которые разрешается вносить в текущий лист, Вы можете его защитить. Для этого щелкните правой кнопкой мыши по ярлычку листа и из контекстного меню выберите пункт Защитить лист.

Источники

  • http://macros-vba.ru/nadstrojki/excel/246-kak-pereimenovat-list-v-rabochej-knige-excel-pereimenovanie-listov
  • https://lumpics.ru/how-to-rename-worksheet-in-excel/
  • https://office-guru.ru/excel/pereimenovanie-vstavka-i-udalenie-lista-v-excel-24.html
  • https://vremya-ne-zhdet.ru/vba-excel/rabochiy-list-obrashcheniye-pereimenovaniye-skrytiye/
  • https://micro-solution.ru/projects/addin_vba-excel/sheets-rename
  • https://exceltable.com/vba-macros/makros-pereimenovat-listy
  • https://best-exam.ru/pereimenovanie-listov-v-excel/
  • https://zen.yandex.ru/media/topnews/urok-excel–32-kak-izmenit-nazvanie-i-cvet-iarlyka-rabochego-lista-5b2b7d5bcb0ffb00a9d43087

Типичная задача. Есть много листов названия которых нас не устраивают. Мы хотим их переименовать. Делать это вручную очень долго.

C надстройкой ЁXCEL это сделать легко.

Перейдите во вкладку «ЁXCEL» главного меню, нажмите кнопку «Листы», в выпавшем списке выберите пункт «Получить список листов книги»:

В открывшемся диалоговом окне установите переключатель в положение «Простой список листов (все листы)» и нажмите «ОК»:

Программа создаст в активной книге новый лист на который выведет названия всех листов:

Как быстро переименовать листы?

Исключите из списка листы, которые вы не хотите переименовывать, а напротив оставшихся введите новые названия, чтобы получилось так:

kak-bystro-pereimenovat-listy_2.png

Выделите диапазон со старыми и новыми названиями листов, перейдите во вкладку «ЁXCEL» главного меню, нажмите кнопку «Листы» и выберите команду «Переименовать листы из списка»:

kak-bystro-pereimenovat-listy_3.png

В открывшемся диалоговом окне нажмите «ОК»:

kak-bystro-pereimenovat-listy_4.png

Указанные листы будут переименованы.

Добавить комментарий

Имя листа в ячейке формулой в Excel

Разберем несколько вариантов добавления имени листа в ячейку в Excel с помощью формул.

Формула имени листа в Excel

Чтобы присвоить ячейке имя листа в Excel можно воспользоваться следующей формулой:

=ПСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 );ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ))+1;255)

Давайте по шагам разберем принцип действия формулы имени листа.

Шаг 1. Функция ЯЧЕЙКА

Функция ЯЧЕЙКА позволяет получить данные о содержимом ссылки, в том числе и имя файла.
В данном случае формула ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ) позволяет получить полный путь файла Excel на локальном диске:


Как мы видим название листа идет сразу после названия файла, обрамленного в квадратные скобки.

Шаг 2. Функция ПОИСК

Таким образом для извлечения имени листа необходимо найти символ закрывающейся квадратной скобки (]) с помощью функции ПОИСК, которая возвращает позицию первого вхождения искомого элемента:


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

Шаг 3. Функция ПСТР

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


Так как точное количество символов в имени листа неизвестно, то в качестве последнего аргумента функции ПСТР указываем заведомо большее число, чем длина имени листа (подойдет любое число больше 31 — максимальная длина названия листа).

Альтернативная формула

Чтобы вставить название листа в ячейку можно воспользоваться альтернативной формулой:

=ПРАВСИМВ(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 );ДЛСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ))-ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 )))

Отличие от предыдущего варианта заключается в использовании функции ПРАВСИМВ, которая возвращает указанное количество знаков с конца текста.

Описание используемых функций

Функция ЯЧЕЙКА:

ЯЧЕЙКА(тип_сведений; [ссылка])
Возвращает сведения о форматировании, адресе или содержимом первой ячейки ссылки.

  • Тип сведений(обязательный аргумент) — текстовое значение, задающее тип сведений о ячейке (например, адрес, столбец, цвет, имяфайла, формат, скобки и т.д.);
  • Ссылка(необязательный аргумент) — ячейка, по которой возвращаются данные.

Функция ПОИСК:

ПОИСК(искомый_текст; просматриваемый_текст; [начальная_позиция])
Возвращает позицию первого вхождения знака или строки текста (при чтении слева направо, прописные и строчные буквы не различаются).

  • Искомый текст(обязательный аргумент) — искомый текст
  • Просматриваемый текст(обязательный аргумент) — текст, по которому производится поиск;
  • Начальная позиция(необязательный аргумент) — номер знака в просматриваемом тексте, с которого следует начать поиск.

Функция ПСТР:

ПСТР(текст; начальная_позиция; число_знаков)
Возвращает заданное число знаков из строки текста, начиная с указанной позиции.

  • Текст(обязательный аргумент) — текст, из которого извлекают символы;
  • Начальная позиция(обязательный аргумент) — позиция первого знака, извлекаемого из текста;
  • Число знаков(обязательный аргумент) — количество знаков, возвращаемых функцией.

Вставка текущего имени файла Excel, пути или листа в ячейку

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

Вставьте текущее имя файла, полный путь и имя активного листа.

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

Вставка текущего имени файла и имени активного листа

Введите или вставьте следующую формулу в качестве формула массива, чтобы отобразить имя текущего файла и имя активного листа:

=RIGHT(CELL(«filename»),LEN(CELL(«filename»))- MAX(IF(NOT(ISERR(SEARCH(«»,CELL(«filename»), ROW(1:255)))),SEARCH(«»,CELL(«filename»),ROW(1:255)))))

Чтобы ввести формулу в качестве формулы массива, нажмите клавиши CTRL + SHIFT + ВВОД.

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

Вставка только текущего имени файла

Чтобы вставить имя текущего файла в ячейку, введите или вставьте следующую формулу:

Примечание: Если вы используете эту формулу на несохраненном листе, вы увидите ошибку #VALUE! в ячейке. При сохранении листа сообщение об ошибке заменяется именем файла.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Как получить имя листа формулой

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

В принципе это очень легко сделать простейшей функцией пользователя:

‘————————————————————————————— ‘ Procedure : GetShName ‘ DateTime : 04.03.2015 10:44 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ http://www.excel-vba.ru ‘ Purpose : Функция возвращает в ячейку имя листа ‘ rCell — Необязательный аргумент. ‘ Если указан — функция вернет имя листа, на котором расположена эта ячейка ‘ Если не указан — функция вернет имя листа, в котором записана функция ‘————————————————————————————— Function GetShName(Optional rCell As Range) If Not rCell Is Nothing Then GetShName = rCell.Parent.Name Else GetShName = Application.Caller.Parent.Name End If End Function

Синтаксис:
получение имени листа, в котором записана функция:
=GetShName()
получение имени листа, в котором расположена указанная ячейка
=GetShName( A1 ) — данная запись равнозначна записи без ячейки, т.к. ячейка все равно в пределах листа с самой функцией
=GetShName( Лист2!A1 )

Но бывают случаи, когда использование макросов весьма нежелательно. Тогда можно воспользоваться чуть более громоздкой и менее понятной формулой:
=ПСТР(ЯЧЕЙКА(«filename»; A2 );ПОИСК(«]»;ЯЧЕЙКА(«filename»; A2 ))+1;31)
=MID(CELL(«filename»,A2),SEARCH(«]»,CELL(«filename»,A2))+1,31)
Однако эта формула вернет точно такой же результат, как функция пользователя выше и макросы совершенно не нужны.

Теперь разберем эту формулу поподробнее
Самая основная часть — ЯЧЕЙКА(«filename»;A2). Функция ЯЧЕЙКА (CELL) с записанным первым аргументом «filename» возвращает полный путь к книге, включая имя листа и адрес ячейки, в которой записана функция:
C:UsersДмитрийDesktop[Tips_All_GetShName.xls]Лист1
Т.к. нам нужно только имя листа — мы применяем ПСТР (MID) , которая возвращает часть текста, начиная с указанной позиции символа. ПОИСК (SEARCH) ищет нам именно эту позицию — позицию символа «]».
Если по шагам просмотреть этапы работы формулы, то будет нечто вроде:
=ПСТР(ЯЧЕЙКА(«filename»; A2 );ПОИСК(«]»;ЯЧЕЙКА(«filename»; A2 ))+1;31)
Шаг1 =>
=ПСТР(ЯЧЕЙКА(«filename»; A2 );ПОИСК(«]»;C:UsersДмитрийDesktop[Tips_All_GetShName.xls]Лист1)+1;31)
Шаг2 =>
=ПСТР(ЯЧЕЙКА(«filename»; A2 );49+1;31)
Шаг3 =>
=ПСТР(C:UsersДмитрийDesktop[Tips_All_GetShName.xls]Лист1;50;31)
Шаг4 =>
=Лист1
Первый момент: почему применяю цифру 31 последним аргументом ПСТР? По факту, там необходимо указывать точное количество символов, но если указать больше — то будут взяты все символы от указанного и до последнего. Т.е можно было бы указать и 99, но 31 — это максимальное количество символов, которое можно использовать в имени листа.
Второй момент: первым аргументом функции ЯЧЕЙКА указывается текст, обозначающий тип сведений. В русской локализации он доступен на русском — «имяфайла». Однако при открытии файла с этой функцией в другой локализации тип сведений не будет переведен и функция не сможет работать. Поэтому я указываю на английском, т.к. он является универсальным в данном случае и будет работать в любой локализации. Однако нет никакой ошибки, если указать на русском: ЯЧЕЙКА(«имяфайла»; A2 )

Если вторым аргументом функции ЯЧЕЙКА ничего не указывать( =ЯЧЕЙКА(«filename») ), то функция вернет полный путь с именем того листа, который активен в данный момент(даже если это лист другой книги).

Правда, у этой формулы есть свои недостатки: обязательно необходимо, чтобы книга была сохранена на диске. Это означает, что формула не сработает для книги, которая была только что создана и не сохранена. Связано это с ограничениями возможностей параметра «filename» функции ЯЧЕЙКА(CELL). Она не может получить путь к файлу, который еще не сохранен.
Функция пользователя(UDF) GetShName (приведенная в самом начале статьи) лишена этого недостатка.

Для чего вообще может быть нужно записывать имя листа в ячейку? Ну, например, если имя листа периодически меняется, а в своих формулах вы используете функции вроде ДВССЫЛ со ссылкой на этот лист. Либо для создания более наглядного оглавления через гиперссылки.

Кто-то уже явно догадался, что подобным же образом можно получить не только имя листа — но и имя книги:
=ПСТР(ЯЧЕЙКА(«filename»);ПОИСК(«[«;ЯЧЕЙКА(«filename»))+1;ПОИСК(«]»;ЯЧЕЙКА(«filename»))-ПОИСК(«[«;ЯЧЕЙКА(«filename»))-1)
так же как и для имени листа — можно указать ячейку из другой книги и тогда формула вернет имя той книги, из которой указана ячейка.
Если ячейка не указана — функция вернет имя активной в данный момент книги.

Так же можно получить полный путь к книге и имя книги(без квадратных скобок и имени листа):
=ПОДСТАВИТЬ(ПСТР(ЯЧЕЙКА(«filename»;A1);1;ПОИСК(«]»;ЯЧЕЙКА(«filename»;A1))-1);»[«;»»)

Статья помогла? Поделись ссылкой с друзьями!

Excel works!

Excel работает за вас

Excel works!

Thanks for Visiting

Как использовать имя листа в Excel?

У каждого листа есть название. В одной книге Excel может быть 256 листов. Как использовать имя листа в Excel, чтобы упростить расчеты для множества листов? Например, вам нужно собрать сумму определенного столбца формулой со всех листов, как использовать имя листа в Excel для сбора данных? Ниже предлагаю описание этой возможности табличного редактора.

Имя листа Excel в расчетах

Конкретный пример. Есть два листа с данными по годам Сумма1 и Сумма2, необходимо посчитать сумму по этим листам. При этом необходимо использовать имя листа в формуле. Т.е. если добавить любое количество листов, была бы возможность быстро рассчитать эту сумму.

Для таких расчетов существует замечательная функция =ДВССЫЛ()

По факту в ней необходим один аргумент — ссылка на ячейку. Есть еще необязательный аргумент для определения типа ссылок (R1C1 или A1 — по умолчанию A1).

Чтобы указать имя листа в аргументе (ссылку) нужно воспользоваться возможностью сцепить. Разберем на примере

C$2 — ячейка в которой записано имя листа на который ссылаемся (в нашем случае Сумма1 и Сумма2 )

& — символ сцепки

«» — значит, что внутри ячеек воспринимается Excel как текст

!b2 — текстовое значение той ячейке на которую ссылаемся

Решение примера выше можно посмотреть в примере .

Вернуть имя листа в Excel в ячейку

Проще всего наверное макросом, создаем макрос и вносим в него такой текст:

Т.е. ячейке A1 мы этим макросом присваиваем имя листа (не забудьте запустить макрос)

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

Мы используем функцию ПРАВСИМВ для того, чтобы отделить нужное количество символов в возвращенном полном имени файла при помощи ЯЧЕЙКА («имяфайла») — например, C:Users[Имя листаxlsb]Лист1

Далее мы считаем количество ячеек которых нужно оделить справа — т.е. находим полную длину пути файла (ДЛСТР(ЯЧЕЙКА(«имяфайла»))) и вычитаем из нее количество символов до знака ]

В итоге получаем, что из текста C:Users[Имя листаxlsb]Лист1 нам с правой стороны нужно отделить 5 символов — Лист1

Формулу можно ввести в любую ячейку, так что не должно возникнуть проблем.

Имя файла в Excel

Так же можно вернуть в ячейке имя файла Excel

Формула будет иметь вид:

«имяфайла» — это именно такой аргумент, так и надо записывать.

Какая формула вернет название Листа в ячейку «А1»?

Можно создать собственную функцию на основе Google Apps Script.
Code.gs

В Таблице необходимо указать формулу для получения имени активного листа
=sheetName(E5:E13)
Для получения списка всех листов
=sheetsName(E5:E13)
где E5:E13 особый, обязательно активный, т.е. зависящий от ввода пользователя, диапазон. Без изменения этого диапазона, толку от функции будет мало.
Внимание, функции времени (TODAY(), NOW()) нельзя передавать как аргументы.

Пример Таблицы со скриптом goo.gl/w97FNi

С уважением.
Больше ответов на русском языке тут Bit.Ly/rudrive и тут Bit.Ly/rugoogleapps.

P.S.: Чтобы исключить гнев и любую неверную интерпретацию, скажу, что этот скрипт стал возможен после публикования вопроса и первых комментариев к этому посту. Пруф https://code.google.com/p/google-apps-script-issue.

ниже еще одно решение Вашего вопроса, в нем не нужны диапазоны,.
Просто укажите номер листа от 1 до N, где N — последний лист .
Инструкция, очень простая и короткая:
— Скопируйте код ниже (весь со всем скобками, слешами и запятыми):

— Откройте таблицу, где необходимо использовать функцию;
— Выберите «Инструменты» > «Редактор скриптов..» в меню открывшегося редактора Google Таблиц;
— В новой вкладке откроется Редактор скриптов:

— Вставьте в редактор скопированный код:

— В меню редактора выберите «Ресурсы» > «Триггеры текущего проекта» и дайте название Вашему проекту:

— Затем нажмите «Триггеры не настроены. Нажмите здесь, чтобы добавить триггер.» чтобы создать первый триггер:

— В открывшемся диалоговом окне выберите значения отмеченные на изображении ниже:

— Редактор потребует авторизации и выполнения действий в Вашем аккаунте, выбираем «Далее», «Далее» . и авторизируемся
* После этого функция будет работать из таблицы.
Проверяем, выбираем ячейку, вводим значение =getSheetName(1) результат «Лист1»

Like this post? Please share to your friends:
  • Автоматическое копирование ячеек в excel по условию
  • Автоматическое копирование текста в word
  • Автоматическое копирование текста в excel
  • Автоматическое копирование строки в excel
  • Автоматическое копирование строк в excel по условию