Размер названия листа в excel

 

iam1968

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

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

Может Вам это и кажется странным, но для моих потребностей, это оказалось оптимальным решением.  :)
Потерявшие актуальность записи (а хоть и целые листы) через фильтрацию сбрасываются в глобальный Накопитель. А там из них «любое блюдо» можно приготовить.
А на первом листе активное оглавление по листам.
И по названию листа в оглавлении регистратор очень просто ориентируется в записях и по хронологии. И легко переходит на нужный лист.
И на одну дату и одно название может приходится 1-10 адресов. И при моём подходе они сразу «разложены».

Изменено: iam196801.04.2013 19:56:47

When I try to set a longish worksheet name using ruby and win32ole with the following code:

require "win32ole"
excel = WIN32OLE.new('Excel.Application')
excel.Visible = 1
puts excel.version
workbook = excel.Workbooks.Add
worksheet1 = workbook.Worksheets.Add
worksheet1.Name = "Pseudopseudohypoparathyroidism" #Length 30, fine
worksheet2 = workbook.Worksheets.Add
worksheet2.Name = "Supercalifragilisticexpialidocious" #Length 34, not fine

I get the following:

12.0
-:9:in `method_missing': (in setting property `Name': ) (WIN32OLERuntimeError)
    OLE error code:800A03EC in Microsoft Office Excel
      You typed an invalid name for a sheet or chart. Make sure that:

 The name that you type does not exceed 31 characters.
 The name does not contain any of the following characters:  :    /  ?  *  [  or  ]
 You did not leave the name blank.
    HRESULT error code:0x80020009
      Exception occurred.
        from -:9:in `<main>'

The version 12.0 indicates that I’m running Excel 2007, but it’s complaining that the worksheet name is too long. I had a look at Excel 2007 specifications and limits as mentioned in this related answer, and I couldn’t find it mentioning any such limit. (Trying to rename a worksheet manually suggests there may be such a limit, however)

Is there a limit, and is it a hard limit or one that can be changed by changing the configuration of Excel?

Community's user avatar

asked Sep 10, 2010 at 2:05

Andrew Grimm's user avatar

Andrew GrimmAndrew Grimm

77.4k57 gold badges198 silver badges337 bronze badges

0

The file format would permit up to 255-character worksheet names, but if the Excel UI doesn’t want you exceeding 31 characters, don’t try to go beyond 31. App’s full of weird undocumented limits and quirks, and feeding it files that are within spec but not within the range of things the testers would have tested usually causes REALLY strange behavior. (Personal favorite example: using the Excel 4.0 bytecode for an if() function, in a file with an Excel 97-style stringtable, disabled the toolbar button for bold in Excel 97.)

answered Sep 10, 2010 at 2:24

mjfgates's user avatar

7

Renaming a worksheet manually in Excel, you hit a limit of 31 chars, so I’d suggest that that’s a hard limit.

answered Sep 10, 2010 at 2:08

Andrew Cooper's user avatar

Andrew CooperAndrew Cooper

32.1k5 gold badges80 silver badges116 bronze badges

I use the following vba code where filename is a string containing the filename I want, and Function RemoveSpecialCharactersAndTruncate is defined below:

worksheet1.Name = RemoveSpecialCharactersAndTruncate(filename)

'Function to remove special characters from file before saving

Private Function RemoveSpecialCharactersAndTruncate$(ByVal FormattedString$)
    Dim IllegalCharacterSet$
    Dim i As Integer
'Set of illegal characters
    IllegalCharacterSet$ = "*." & Chr(34) & "//[]:;|=,"
    'Iterate through illegal characters and replace any instances
    For i = 1 To Len(IllegalCharacterSet) - 1
        FormattedString$ = Replace(FormattedString$, Mid(IllegalCharacterSet, i, 1), "")
    Next
    'Return the value capped at 31 characters (Excel limit)
    RemoveSpecialCharactersAndTruncate$ = Left(FormattedString$, _
                           Application.WorksheetFunction.Min(Len(FormattedString), 31))
End Function

Tunaki's user avatar

Tunaki

131k46 gold badges330 silver badges415 bronze badges

answered Feb 27, 2017 at 21:52

Bisker's user avatar

My solution was to use a short nickname (less than 31 characters) and then write the entire name in cell 0.

answered Nov 10, 2015 at 19:18

nikon0iT's user avatar

0

I just tested a couple paths using Excel 2013 on on Windows 7. I found the overall pathname limit to be 213 and the basename length to be 186. At least the error dialog for exceeding basename length is clear: basename error

And trying to move a not-too-long basename to a too-long-pathname is also very clear:enter image description here

The pathname error is deceptive, though. Quite unhelpful:enter image description here

This is a lazy Microsoft restriction. There’s no good reason for these arbitrary length limits, but in the end, it’s a real bug in the error dialog.

answered Mar 29, 2018 at 16:01

tbc0's user avatar

tbc0tbc0

1,5291 gold badge17 silver badges21 bronze badges

когда я пытаюсь установить длинное имя листа с помощью ruby и win32ole со следующим кодом:

require "win32ole"
excel = WIN32OLE.new('Excel.Application')
excel.Visible = 1
puts excel.version
workbook = excel.Workbooks.Add
worksheet1 = workbook.Worksheets.Add
worksheet1.Name = "Pseudopseudohypoparathyroidism" #Length 30, fine
worksheet2 = workbook.Worksheets.Add
worksheet2.Name = "Supercalifragilisticexpialidocious" #Length 34, not fine

Я получаю следующее:

12.0
-:9:in `method_missing': (in setting property `Name': ) (WIN32OLERuntimeError)
    OLE error code:800A03EC in Microsoft Office Excel
      You typed an invalid name for a sheet or chart. Make sure that:

 The name that you type does not exceed 31 characters.
 The name does not contain any of the following characters:  :    /  ?  *  [  or  ]
 You did not leave the name blank.
    HRESULT error code:0x80020009
      Exception occurred.
        from -:9:in `<main>'

версия 12.0 указывает, что я запускаю Excel 2007, но он жалуется, что имя рабочего листа слишком длинное. Я взглянул на Excel 2007 технические характеристики и ограничения как говорится в это связано ответа, и я не мог найти упоминания о таком пределе. (Попытка переименовать рабочий лист вручную предполагает, что может быть такой предел, однако)

есть ли предел, и это жесткий предел или тот, который можно изменить, изменив конфигурацию Excel?

5 ответов


формат файла позволит до 255-символьных имен листов, но если пользовательский интерфейс Excel не хочет, чтобы вы превышали 31 символ, не пытайтесь выйти за пределы 31. Приложение полно странных недокументированных ограничений и причуд, и подача его файлов, которые находятся в пределах спецификации, но не в пределах диапазона вещей, которые тестировщики бы протестировали, обычно вызывает действительно странное поведение. (Личный любимый пример: использование байт-кода Excel 4.0 для функции if() в файле со Строковой таблицей Excel 97 отключено кнопка панели инструментов для полужирного шрифта в Excel 97.)


переименование листа вручную в Excel, вы попали в предел 31 символов, поэтому я бы предложил, что это жесткий предел.


мое решение состояло в том, чтобы использовать короткий псевдоним (менее 31 символа), а затем написать все имя в ячейке 0.


Я использую следующий код vba, где filename-это строка, содержащая имя файла, которое я хочу, а функция RemoveSpecialCharactersAndTruncate определена ниже:

worksheet1.Name = RemoveSpecialCharactersAndTruncate(filename)

'Function to remove special characters from file before saving

Private Function RemoveSpecialCharactersAndTruncate$(ByVal FormattedString$)
    Dim IllegalCharacterSet$
    Dim i As Integer
'Set of illegal characters
    IllegalCharacterSet$ = "*." & Chr(34) & "//[]:;|=,"
    'Iterate through illegal characters and replace any instances
    For i = 1 To Len(IllegalCharacterSet) - 1
        FormattedString$ = Replace(FormattedString$, Mid(IllegalCharacterSet, i, 1), "")
    Next
    'Return the value capped at 31 characters (Excel limit)
    RemoveSpecialCharactersAndTruncate$ = Left(FormattedString$, _
                           Application.WorksheetFunction.Min(Len(FormattedString), 31))
End Function

Я только что протестировал пару путей с помощью Excel 2013 на Windows 7. Я обнаружил, что общий предел пути составляет 213, а длина базового имени-186. По крайней мере, диалоговое окно ошибки для превышения длины базового имени ясно: basename error

и попытка переместить не слишком длинное базовое имя в слишком длинный путь также очень ясна:enter image description here

ошибка пути обманчива, хотя. Совершенно неконструктивным:enter image description here

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


Максимальная длина названия листа

Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Максимальная длина названия листа

Доброе время суток. Некоторое время назад натолкнулся я в интернете на прайс-лист в виде Excel’ной книги, названия листов в которой были явно длиннее 31 символа. Может это было сделано в 2007 Excel’е или как-то иначе? И какое тогда ограничение по числу символов в названии листа?


Евгений Д.
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 21.09.2004 (Вт) 17:32
Откуда: Москва

Re: Максимальная длина названия листа

Сообщение Евгений Д. » 03.02.2009 (Вт) 15:51

Народ, может за прошедший год у кого-то появилась информация по этой теме? Опять понадобилось, понимаешь :lol: .


KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Re: Максимальная длина названия листа

Сообщение KL » 04.02.2009 (Ср) 18:24

Евгений Д. писал(а):Народ, может за прошедший год у кого-то появилась информация по этой теме? Опять понадобилось, понимаешь :lol: .

Может имена листам присваивались в другой программе, скажем OpenOffice, Google Spereadsheet и т.п.?

Привет,

KL



Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

По умолчанию в Excel листам присваиваются названия «Лист1», «Лист2», «Лист3» и т. д., но их можно легко переименовать.

Изображение ярлычков листа Excel

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

  1. Дважды щелкните ярлычок листа и введите новое имя.

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

  3. Нажмите клавиши ALT+H, O, R и введите новое имя.

Важно: 
Имена листов не могут:

  • Пустое место .

  • Содержать более 31 знака.

  • Содержать следующие символы: / ? * : [ ]

    Например, 02/17/2016 нельзя использовать в качестве имени листа, а 02-17-2016 — можно.

  • Начинаться или заканчиваться апострофом (‘), при этом апострофы использоваться между символами.

  • Называться «History». Это зарезервированное слово, которое Excel использует для внутренних целей.

Переименование книги

Если вы хотите переименовать книгу, найдите ее в проводнике, нажмите клавишу F2 или щелкните ее правой кнопкой мыши и выберите «Переименовать», а затем введите новое имя.

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Вставка и удаление листов

Видео: перемещение и копирование листов

Краткое руководство: печать листа

Группировка листов

Защита листа

Нужна дополнительная помощь?

Имя листа в ячейке формулой в 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»

4 способа переименования листа в Microsoft Excel

Лист в Microsoft Excel

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

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

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

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

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

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

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

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

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

Переход к переименованию листа в Microsoft Excel

Поле свтало активным в Microsoft Excel

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

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

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

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

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

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

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

Переход к переименованию листа через ленту в Microsoft Excel

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

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

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

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

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

Два списка в Microsoft Excel

Запуск группового переименования в Microsoft Excel

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

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

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

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

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

По умолчанию в Excel листам присваиваются названия «Лист1», «Лист2», «Лист3» и т. д., но их можно легко переименовать.

Изображение ярлычков листа Excel

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

Дважды щелкните ярлычок листа и введите новое имя.

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

Нажмите клавиши ALT+H, O, R и введите новое имя.

Важно: Имена листов не могут:

Содержать более 31 знака.

Содержать следующие символы: / ? * : [ ]

Например, 02/17/2016 нельзя использовать в качестве имени листа, а 02-17-2016 — можно.

Начинаться или заканчиваться апострофом (‘), при этом апострофы использоваться между символами.

Называться «History». Это зарезервированное слово, которое Excel использует для внутренних целей.

Переименование книги

Если вы хотите переименовать книгу, найдите ее в проводнике, нажмите клавишу F2 или щелкните ее правой кнопкой мыши и выберите «Переименовать», а затем введите новое имя.

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Макрос для копирования и переименования листов Excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вставка нового листа в Excel

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

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

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

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

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

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

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

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

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

Для скрытия и отображения рабочих листов в 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 вызывает ошибку)

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

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

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

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

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

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

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

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

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

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

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

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

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

Sub PlanRabot()
Dim diapaz As Range
Dim i As Long
Dim list As Worksheet
On Error Resume Next
Set diapaz = Application.InputBox( «Пожалуйста, выделите диапазон ячеек, который содержит названия для новых листов!» , Type:=8)
On Error GoTo 0
If diapaz Is Nothing Then Exit Sub
Set list = ActiveSheet
For i = 1 To diapaz.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. Хорошенько подумайте, прежде чем удалять их.

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

Понравилась статья? Поделить с друзьями:
  • Размер на курсора в word
  • Размер папок в excel
  • Размер панели быстрого доступа word
  • Размер листа книги excel
  • Размер листа word в пикселях