Чтобы перечислить все имена таблиц в книге, методы, описанные в этой статье, могут помочь вам пройти через это.
Список всех имен таблиц в поле имени
Список всех имен таблиц на панели формул
Список всех имен таблиц с кодом VBA
Список всех имен таблиц в поле имени
Все имена таблиц по умолчанию перечислены в поле имени.
Щелкните стрелку раскрывающегося списка в верхнем левом углу Имя Box для отображения всех имен таблиц. Смотрите скриншот:
Внимание: Все ранжированные имена также перечислены в поле имени вместе со всеми именами таблиц.
Список всех имен таблиц на панели формул
Если все таблицы были названы по исходному имени таблицы, например Table1, Table2…, вы можете попробовать перечислить все эти имена таблиц в строке формул.
1. Введите формулу =ROW(T в панель формул, тогда все имена таблиц перечислены в поле списка, как показано ниже.
Внимание: Имена таблиц, которые были изменены, не будут отображаться с помощью этого метода.
Список всех имен таблиц с кодом VBA
Если в вашей книге есть имя таблицы по умолчанию и измененное имя таблицы. Вы можете сразу перечислить их вместе с помощью следующего кода VBA.
1. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте ниже код VBA в окно модуля.
Код VBA: список всех имен таблиц в Excel.
Sub ListTables()
'Updated by Extendoffice 20180503
Dim xTable As ListObject
Dim xSheet As Worksheet
Dim I As Long
I = -1
Sheets.Add.Name = "Table Name"
For Each xSheet In Worksheets
For Each xTable In xSheet.ListObjects
I = I + 1
Sheets("Table Name").Range("A1").Offset(I).Value = xTable.Name
Next xTable
Next
End Sub
3. нажмите F5 или нажмите кнопку «Выполнить», чтобы запустить код.
Затем создается новый рабочий лист с именем «Имя таблицы» со всеми именами таблиц, перечисленными, как показано ниже:
Статьи по теме:
- Как отобразить имя таблицы или сводной таблицы в ячейке в Excel?
- Как сохранить расширяемость таблицы, вставив строку таблицы в защищенный лист в Excel?
- Как изменить порядок столбцов в таблице в Excel?
- Как скрыть строки с нулевым значением в сводной таблице?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (2)
Оценок пока нет. Оцените первым!
Имена таблиц на листе |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
lcf2003 Пользователь Сообщений: 2 |
Есть необходимость вставить через VBA в строку «умной» таблицы на которой стоит курсор (выделена) некоторые данные. |
Пытливый Пользователь Сообщений: 4587 |
#2 13.11.2015 14:39:57
Кому решение нужно — тот пример и рисует. |
||
МВТ Пользователь Сообщений: 1198 |
#3 13.11.2015 14:44:56 Как-то так
Пытливый, здорово,не знал про такой способ Изменено: МВТ — 13.11.2015 14:46:39 |
||
lcf2003 Пользователь Сообщений: 2 |
Спасибо, ребят. Все получилось! |
Pelik Пользователь Сообщений: 3 |
Как получить имя — понятно. А как узнать индекс (присвоенный порядковый номер) умной таблицы? |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#6 07.08.2022 12:49:46
а понятно потому, что написали как это сделать? Изменено: Ігор Гончаренко — 07.08.2022 12:51:03 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
Pelik Пользователь Сообщений: 3 |
Так мне кажется очень сложно. Мне просто нужно придумать обращение к умной таблице на листе через ее индекс. Искал что-то типа ActiveCell.ListObject.Item, но это не работает. Думал есть какой-то другой выход на этот параметр . Он же где-то зашит, как я понимаю. И обращаться к нему можно, напримерMsgBox ThisWorkbook.Worksheets(1).ListObjects(1).Name. |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#8 08.08.2022 21:22:45
покажите способ проще, буду знать Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
New Пользователь Сообщений: 4582 |
#9 09.08.2022 00:15:00 нормальный способ Игорь предложил, у вас же на листе не миллион умных таблиц
|
||
Jack Famous Пользователь Сообщений: 10852 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#10 09.08.2022 09:04:52
вопрос из зала: нахрена, а, главное — зачем? У вас есть Таблица. Засуньте её в переменную и обращайтесь в любое время. Изменено: Jack Famous — 09.08.2022 09:05:14 Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
RAN Пользователь Сообщений: 7091 |
#11 09.08.2022 09:20:32
Поддерживаю всеми лапами и хвостом. С одной таблицей на листе (ActiveSheet.ListObjects(1)) понятно, но остальные? |
||
если активная ячейка в умной таблице Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Pelik Пользователь Сообщений: 3 |
New
Спасибо! То что надо! |
Ігор Гончаренко Пользователь Сообщений: 13746 |
#14 11.08.2022 08:41:54 Pelik, ???
ответ написан в сообщении 2:
четкий короткий ответ на конкретный вопрос, все остальное к заявленной теме имеет мало отношения Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||||
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Диалоговое окно «Диспетчер имен» используется для работы со всеми определенными именами и именами таблиц в книге. Например, может потребоваться найти имена с ошибками, подтвердить значение и ссылку на имя, просмотреть или изменить описательные комментарии или определить область. Вы также можете отсортировать и отфильтровать список имен, а также легко добавлять, изменять или удалять имена из одного расположения.
Чтобы открыть диалоговое окно Диспетчер имен, на вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.
В диалоговом окне Диспетчер имен отображаются следующие сведения о каждом имени в списке.
Имя столбца |
Описание |
---|---|
Имя |
Одно из следующих значений:
|
Значение |
Текущее значение имени, такое как результаты формулы, строковая константа, диапазон ячеек, ошибка, массив значений или знаки-заполнители, если формулу не удается вычислить. Вот типичные примеры.
|
Диапазон |
Текущая ссылка для имени. Вот типичные примеры.
|
Область |
|
Примечание |
Дополнительные сведения об имени длиной до 255-ти знаков. Вот типичные примеры.
|
Объект ссылки: |
Ссылка на выбранное имя. Диапазон имени можно быстро изменить, изменив сведения в поле «Ссылки «. После внесения изменений можно нажать кнопку » сохранить изменения», или отменить изменения. |
Примечания:
-
При изменении содержимого ячейки нельзя использовать диалоговое окно диспетчера имен.
-
В диалоговом окне диспетчера имен не отображаются имена, определенные в Visual Basic для приложений (VBA) или скрытые имена (свойство Visible имени имеет значение False).
-
На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
-
В диалоговом окне «Новое имя» введите имя, которое вы хотите использовать для ссылки.
Примечание: Длина имени не может превышать 255 знаков.
-
Область автоматически по умолчанию используется для книги. Чтобы изменить область имени, в раскрывающемся списке «Область» выберите имя листа.
-
Также в поле Примечание можно ввести описание длиной до 255 знаков.
-
В поле Диапазон выполните одно из указанных ниже действий.
-
Нажмите кнопку «Свернуть » (при этом диалоговое окно временно сжимается), выделите ячейки на листе и нажмите кнопку » Развернуть диалоговое окно» .
-
Чтобы указать константу, введите = (знак равенства), а затем значение константы.
-
Чтобы указать формулу, введите =, а затем формулу.
Советы:
-
Будьте внимательны при использовании абсолютных или относительных ссылок в формуле. Если создать ссылку, щелкнув ячейку, на которую вы хотите ссылаться, Excel создать абсолютную ссылку, например «Sheet1!$B$1». Если ввести ссылку, например «B1», это относительная ссылка. Если при выборе имени активной ячейкой является A1, то ссылка на «B1» действительно означает «ячейка в следующем столбце». Если вы используете определенное имя в формуле в ячейке, ссылка будет на ячейку в следующем столбце относительно места ввода формулы. Например, если ввести формулу в C10, ссылка будет иметь значение D10, а не B1.
-
Дополнительные сведения: переключение между относительным, абсолютным и смешанным ссылками
-
-
-
Чтобы закончить и вернуться на лист, нажмите кнопку ОК.
Примечание: Чтобы расширить или удлинить диалоговое окно Создание имени, щелкните и перетащите маркер захвата, расположенный внизу.
При изменении определенного имени или имени таблицы все его использование в книге также изменяется.
-
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
-
В диалоговом окне диспетчера имен дважды щелкните имя, которое вы хотите изменить, или выберите имя, которое вы хотите изменить, а затем нажмите кнопку «Изменить».
-
В диалоговом окне Изменение имени введите новое имя для ссылки в поле Имя.
-
Измените ссылку в поле Диапазон и нажмите кнопку ОК.
-
В диалоговом окне Диспетчер имен в поле Диапазон измените ячейку, формулу или константу, представленную этим именем.
-
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
-
В диалоговом окне Диспетчер имен щелкните имя, которое нужно изменить.
-
Выделите одно или несколько имен одним из способов, указанных ниже.
-
Для выделения имени щелкните его.
-
Чтобы выбрать несколько имен в непрерывной группе, щелкните и перетащите их, а затем нажмите клавишу SHIFT и нажмите кнопку мыши для каждого имени в группе.
-
Чтобы выбрать несколько имен в несмежной группе, нажмите клавишу CTRL и нажмите кнопку мыши для каждого имени в группе.
-
-
Нажмите кнопку Удалить.
-
Нажмите кнопку ОК, чтобы подтвердить удаление.
Используйте команды раскрывающегося списка Фильтр для быстрого отображения подмножества имен. Выбор каждой команды включает или отключает операцию фильтра, что упрощает объединение или удаление различных операций фильтра для получения нужных результатов.
Можно выполнить фильтрацию из следующих параметров:
Параметр |
Действие |
---|---|
Имена на листе |
Отобразить только локальные имена листа. |
Имена в книге |
Отобразить только глобальные имена в книге. |
Имена с ошибками |
Отображение только имен со значениями, содержащими ошибки (например, #REF, #VALUE или #NAME). |
Имена без ошибок |
Отобразить только те имена, в значениях которых нет ошибок. |
Определенные имена |
Отобразить только те имена, которые определены пользователем или Excel, такое как имя области печати. |
Имена таблиц |
Отобразить только имена таблиц. |
-
Чтобы отсортировать список имен в порядке возрастания или убывания, щелкните заголовок столбца.
-
Чтобы автоматически изменить размер столбца в соответствии с самым длинным значением в этом столбце, дважды щелкните правую часть заголовка столбца.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Почему в Excel появляется диалоговое окно «Конфликт имен»?
Создание именованного диапазона в Excel
Вставка именованного диапазона в формулу в Excel
Определение и использование имен в формулах
Нужна дополнительная помощь?
Skip to content
На чтение 4 мин. Просмотров 2.3k.
Что делает макрос: Когда рабочая книга содержит несколько сводных таблиц, часто нужно иметь список инвентаризации, в котором изложены основные сведения о сводных таблицах. При этом в списке, вы можете быстро просмотреть важную информацию, такую как местоположение каждой сводной таблицы, расположение исходных данных каждой сводной таблицы, индекс кэша и т.д.
Следующий макрос выводит такой список.
Содержание
- Как макрос работает
- Код макроса
- Как это код работает
- Как использовать
Как макрос работает
Когда вы создаете переменную объекта PivotTable, вы открываете все свойства сводной таблицы — такие как имя, местоположение, индекс кэша и т. д. В этом макросе цикл проходит по каждой сводной таблице, извлекает определенные свойства на новый лист.
Код макроса
Sub SpisokSvodnihTablicKnigi() 'Шаг 1: Объявляем переменные Dim ws As Worksheet Dim pt As PivotTable Dim MyCell As Range 'Шаг 2: Добавляем новый лист с заголовками столбцов Worksheets.Add Range("A1:F1") = Array("Pivot Name", "Worksheet", _ "Location", "Cache Index", _ "Source Data Location", _ "Row Count") 'Шаг 3: Устанавливаем якорь курсора в ячейке А2 Set MyCell = ActiveSheet.Range("A2") 'Шаг 4: Запускаем цикл по листам книги For Each ws In Worksheets 'Шаг 5: Запускаем цикл по всем сводным таблицам For Each pt In ws.PivotTables MyCell.Offset(0, 0) = pt.Name MyCell.Offset(0, 1) = pt.Parent.Name MyRange.Offset(0, 2) = pt.TableRange2.Address MyRange.Offset(0, 3) = pt.CacheIndex MyRange.Offset(0, 4) = Application.ConvertFormula _ (pt.PivotCache.SourceData, xlR1C1, xlA1) MyRange.Offset(0, 5) = pt.PivotCache.RecordCount 'Шаг 6: Переместить курсор строкой вниз и установить якорь Set MyRange = MyRange.Offset(1, 0) 'Шаг 7: Работа через все сводные таблицы и листы Next pt Next ws 'Шаг 8: Соответствие размеров столбцов ActiveSheet.Cells.EntireColumn.AutoFit End Sub
Как это код работает
- Шаг 1 объявляет объект под названием WS. Это создает контейнер памяти для каждого рабочего листа. Затем мы объявляем объект под названием PT, который содержит
каждый цикл PivotTable . Наконец, мы создаем переменную диапазона под названием MyCell. Эта переменная действует как курсор, когда заполняет список инвентаризации. - Шаг 2 создает новый рабочий лист и добавляет заголовки столбцов, которые варьируются от А1 до F1. Обратите внимание, что мы можем добавить заголовки столбцов, используя простой массив, который содержит наши метки заголовка. Этот новый рабочий лист остается активным.
- Так же, как вы бы вручную помещали курсор в ячейку, если вы должны были начать вводить данные, шаг 3 помещает MyCell курсор в ячейку A2 активного листа. Это наша точка привязки, что позволяет нам перейти отсюда. На протяжении всего макроса, вы используете свойство offset. Свойство offset позволяет передвигать курсор Offset х количество строк и х количество столбцов от точки привязки. Например, Range (A2) .offset (0,1) будет перемещать курсор на один столбец. Если мы хотим, переместить курсор на одну строку вниз, мы вводим Range(A2). Offset(1, 0). В макросе, мы перемещаемся с помощью
Offset MyCell. Offset (0,4) будет перемещать курсор на четыре столбца справа от анкерной ячейки. После того, как курсор будет на месте, мы можем ввести данные. - Шаг 4 начинает зацикливание, говоря Excel, что мы хотим оценить все рабочие листы в этой книге.
- Шаг 5 перебирает все сводные таблицы в каждом листе. Для каждого PivotTable он находит, извлекает соответствующее свойство и заполняет таблицу на основании положения
курсора (шаг 3). Мы используем шесть свойств: Name, Parent.Range, TableRange2, CacheIndex, PivotCache.SourceData и PivotCache. RecordCount.
Свойство Name возвращает имя сводной таблице.Свойство Parent.Range дает нам лист, где постоянно находится PivotTable. Свойство TableRange2.Address возвращает диапазон, где находится PivotTable. Свойство CacheIndex возвращает порядковый номер кэша сводной для сводной таблицы.
Кэш-память поворота представляет собой контейнер памяти, которая хранит все данные для сводной таблицы. При создании новой сводной таблицы, Excel делает снимок исходных данных и
создает кэш возврата. Каждый раз при обновлении сводной таблицы, Excel приходит к исходным данным и делает еще один снимок, тем самым обновляя кэш возврата. Каждый кэш имеет свойство SourceData, который идентифицирует местоположение данных, используемых для создания кэш возврата. PivotCache. SourceData свойство сообщает нам, какой диапазон будет призван, когда мы обновить сводную таблицу. Вы также можете вытащить количество записей из исходных данных, используя PivotCache.Recordcount. - Каждый раз, когда макрос встречает новую сводную таблицу, он перемещает курсор вниз MyCell строку, начиная новую строку для каждого сводной таблицы.
- Шаг 7 говорит Excel повторить цикл для всех листов. После того, как все листы были оценены, макрос переходит к последнему шагу.
- Шаг 8 завершает с небольшим количеством форматирования размеров столбцов, чтобы соответствовало данным.
Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
- Выберите Insert➜Module.
- Введите или вставьте код.