Прескочи на основното съдържание

Как да създадете динамичен списък с имена на работни листове в Excel?

Автор: Слънце Последна промяна: 2020-05-07

Ако имате няколко листа в работна книга и искате да създадете динамичен списък с имена на всички листове в нов лист в работната книга, как можете да го направите? Сега този урок въвежда някои трикове за бързо изпълнение на тази мисия в Excel.

Създайте динамичен списък с имена на работни листове с Дефиниране на име и формула

Създайте динамичен списък с имена на работни листове с VBA код

Създайте динамичен списък с имена на работни листове с Kutools за Excel добра идея3

Покажете динамичен списък с имена на работни листове с Kutools за Excel добра идея3


1. Изберете клетка в празен лист, тук избирам A1 и след това щракнете формули > Определете име. виж екранна снимка:
doc-dynamic-worksheetname-list-1

2. След това в Ново име диалог, тип Листове в Име текстово поле (можете да промените според нуждите си) и въведете тази формула =ЗАМЕСТВАНЕ(GET.WORKBOOK(1),"["&GET.WORKBOOK(16)&"]","") в текстовото поле Отнася се за. Вижте екранна снимка:
doc-dynamic-worksheetname-list-2

3. кликване OK. Отидете до избраната клетка (A1) и въведете тази формула =ИНДЕКС(Листове,РЕДОВЕ($A$1:$A1)) (A1 е клетката, в която въвеждате тази формула, „Листове“ е името, което сте дефинирали в Стъпка 2) в нея, след което плъзнете манипулатора за автоматично попълване надолу до #REF! появява се.
doc-dynamic-worksheetname-list-3

тип: Ако има премахнати или добавени работни листове, трябва да отидете на A1 и да натиснете клавиша Enter, след което отново да плъзнете манипулатора за автоматично попълване.
doc-dynamic-worksheetname-list-4


Ако искате да създадете динамичен списък с имена на работни листове, които могат да се свързват към всеки лист, можете да използвате VBA код.

1. Създайте нов работен лист и го преименувайте на Index. Вижте екранна снимка:

doc-dynamic-worksheetname-list-5       doc-dynamic-worksheetname-list-6

2. Щракнете с десния бутон върху името на листа на Index, изберете Преглед на кода от контекстното меню. Вижте екранна снимка:
doc-dynamic-worksheetname-list-7

3. В изскачащия прозорец копирайте и поставете по-долу VBA кода в него.

VBA: Създайте динамичен списък с имена на работни листове.

Private Sub Worksheet_Activate()
	'Updateby20150305
	Dim xSheet As Worksheet
	Dim xRow As Integer
	Dim calcState As Long
	Dim scrUpdateState As Long
	Application.ScreenUpdating = False
	xRow                       = 1
	With Me
		.Columns(1).ClearContents
		.Cells(1, 1) = "INDEX"
		.Cells(1, 1).Name = "Index"
	End With
	For Each xSheet In Application.Worksheets
		If xSheet.Name <> Me.Name Then
			xRow                     = xRow + 1
			With xSheet
				.Range("A1").Name = "Start_" & xSheet.Index
				.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
				SubAddress:             = "Index", TextToDisplay: = "Back to Index"
			End With
			Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
			SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
		End If
	Next
	Application.ScreenUpdating = True
End Sub

4. кликване бягане or F5 за да стартирате VBA, сега се създава динамичен списък с имена на работни листове.
doc-dynamic-worksheetname-list-8

Съвет:

1. Когато работният лист на работната книга бъде изтрит или вмъкнат, списъкът с имена на работни листове ще се промени автоматично.

2. Можете да щракнете върху името на листа от списъка с имена, за да отидете на листа.

С горните два метода не са достатъчно удобни, ако се интересувате от нова помощна програма, можете да преминете към следващите два метода, които може да улеснят тази задача.


 Ако искате само бързо да изброите всички имена на работни листове в работната книга и да ги свържете с оригиналните листове, можете да използвате Kutools за ExcelЕ Създайте списък с имена на листове.

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. кликване Kutools плюс > Работен лист > Създайте списък с имена на листове. Вижте екранна снимка:

doc име на динамичен работен лист 17

2. В Създайте списък с имена на листове диалогов прозорец:

 doc динамичен списък с имена на работни листове 2
(1) Проверете стила на индекса, от който се нуждаете Стилове на индекса на листа раздел;
(2) Наименувайте новия индексен лист, като въведете данните в него Посочете име на лист за Индекс на листа текстово поле;
(3) Посочете мястото, където ще поставите добавения индексен лист в Вмъкнете индекса на листа списък;
(4) Ако искате да покажете имената на листовете в един списък, изберете 1 колона в Показване на индекса на листа в списък.

3. кликване Ok. Сега можете да видите, че имената на листовете са изброени.
doc kutools създаване на списък с листове 3

Съвет:

1. Можете да щракнете върху името на листа, за да преминете бързо към оригиналния му лист.

2. Имената на списъка или листовете не могат да се променят динамично при вмъкване или изтриване на листове.

3. Всъщност можете също да създадете списък с бутони за свързване на съответния лист, просто трябва да проверите Съдържа бутони и макроси в диалоговия прозорец. вижте екранна снимка:
doc kutools създаване на списък с листове 4

Щракнете тук, за да научите повече за Създаване на списък с имена на листове.


Ако вие С Kutools за Excel, можете също да използвате навигация помощна програма за показване на имената на работните листове с възможност за свързване в панел

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. кликване Kutools > навигация. Щракнете Работна тетрадка и лист за показване на работната книга и работния лист и можете да изберете работна книга, след което нейните работни листове ще се покажат в навигация прозорец. Вижте екранна снимка:
навигационен панел на документ 1   

Съвет:

Когато има изтрити или добавени работни листове, можете да щракнете върху бутон за опресняване навигационен панел на документ 2 в Навигацияn панел за опресняване на имената на работните листове.

Щракнете тук за повече информация относно навигацията.

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo. hoe zou ik dit kunnen doen om hetzelfde te doen maar met een welbepaade cel van verschillende werkbladen. Bv. een leeg tabblad. mijn andere werkbladen hebben allemaal dezelfde lay-out, maar in iedere cel een andere tekst. Nu zou ik graag in mijn leeg tabblad in Cel A1 de gegevens terugvinden van tabblad1 cel B3. Maar dan zou ik graag in Cel A2 de gegevens terugvinden van tabblad 2 cel 3. En zou naar beneden en dit in een beweging. We kunnen allemaal afzonderlijk doen, maar als er 500 werkbladen zijn, is dit onmogelijk.

Merci voor den input.
This comment was minimized by the moderator on the site
Hi, I guess you want to list all same cells across multiple sheets, if so, there are two tutorials may help you. Please visit:
How to reference same cell from multiple worksheets in Excel?
How to create a list from same cells across multiple sheets in Excel?
Hope it is helpful.
This comment was minimized by the moderator on the site
Em português brasileiro, GET.WORKBOOK é identificado como uma função no Gerenciador de Nomes para criar o nome "Sheets", mas ao referenciar "Sheets" numa célula, aparece o erro "#NOME?". Tentei várias vezes, inclusive com a sugestão de traduzir GET.WORKBOOK para OBTER.LIVRO mas não funcionou.
This comment was minimized by the moderator on the site
Hi, try this: =SUBSTITUIR(INFO.PASTA.TRABALHO(1),"["&INFO.PASTA.TRABALHO(16)&"]","")
This comment was minimized by the moderator on the site
Thanks for this helpful info. I created a dynamic list with VBA code in the Index tab. I found that it only updates when I click back to the Index tab, though. Is there a way to ensure it auto updates as soon as a new tab is created? I refer to the tab names elsewhere in the workbook and others will be using it so I'm trying to make it seamless. Thank you!
This comment was minimized by the moderator on the site
Sorry, I do not find that code can finish your job.
This comment was minimized by the moderator on the site
Or you can simply rightClick either the left or right tab-horizontal-scroll arrow at the bottomLeft, and then click the worksheet name (from the simple vertical list) that you want to jump to.
This comment was minimized by the moderator on the site
Just what I needed and worked perfectly. Thank you!
This comment was minimized by the moderator on the site
Defining the name "Sheets" in the define name DOES NOT WORK. The "refers to" box will not save the formula as typed and converts it to a text string.
This comment was minimized by the moderator on the site
how can I use this code to create the list of worksheets in horizontal order instead of vertical? is it possible?
This comment was minimized by the moderator on the site
Thank you. It is very useful. :D
This comment was minimized by the moderator on the site
How can i remove the links to each sheets and how to not include the "sheet1" and "Index" sheet? Private Sub Worksheet_Activate() 'Updateby20150305 Dim xSheet As Worksheet Dim xRow As Integer Dim calcState As Long Dim scrUpdateState As Long Application.ScreenUpdating = False xRow = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = "INDEX" .Cells(1, 1).Name = "Index" End With For Each xSheet In Application.Worksheets If xSheet.Name Me.Name Then xRow = xRow + 1 With xSheet .Range("A1").Name = "Start_" & xSheet.Index .Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _ SubAddress: = "Index", TextToDisplay: = "Back to Index" End With Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _ SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name End If Next Application.ScreenUpdating = True End Sub
This comment was minimized by the moderator on the site
How would I go about editing this code to include a checkbox to the left of the link that I could use to hide rows on a cover sheet? Also how could I insert a row on the worksheets below A1 to have the return to index link show up there?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations