Список всех таблиц в excel

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

Список всех имен таблиц в поле имени
Список всех имен таблиц на панели формул
Список всех имен таблиц с кодом 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-дневная гарантия возврата денег.

вкладка kte 201905


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

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

офисный дно

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


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

Skip to content

На чтение 4 мин. Просмотров 2.3k.

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

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как это код работает
  4. Как использовать

Как макрос работает

Когда вы создаете переменную объекта 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. Шаг 1 объявляет объект под названием WS. Это создает контейнер памяти для каждого рабочего листа. Затем мы объявляем объект под названием PT, который содержит
    каждый цикл PivotTable . Наконец, мы создаем переменную диапазона под названием MyCell. Эта переменная действует как курсор, когда заполняет список инвентаризации.
  2. Шаг 2 создает новый рабочий лист и добавляет заголовки столбцов, которые варьируются от А1 до F1. Обратите внимание, что мы можем добавить заголовки столбцов, используя простой массив, который содержит наши метки заголовка. Этот новый рабочий лист остается активным.
  3. Так же, как вы бы вручную помещали курсор в ячейку, если вы должны были начать вводить данные, шаг 3 помещает MyCell курсор в ячейку A2 активного листа. Это наша точка привязки, что позволяет нам перейти отсюда. На протяжении всего макроса, вы используете свойство offset. Свойство offset позволяет передвигать курсор Offset х количество строк и х количество столбцов от точки привязки. Например, Range (A2) .offset (0,1) будет перемещать курсор на один столбец. Если мы хотим, переместить курсор на одну строку вниз, мы вводим Range(A2). Offset(1, 0). В макросе, мы перемещаемся с помощью
    Offset MyCell. Offset (0,4) будет перемещать курсор на четыре столбца справа от анкерной ячейки. После того, как курсор будет на месте, мы можем ввести данные.
  4. Шаг 4 начинает зацикливание, говоря Excel, что мы хотим оценить все рабочие листы в этой книге.
  5. Шаг 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.
  6. Каждый раз, когда макрос встречает новую сводную таблицу, он перемещает курсор вниз MyCell строку, начиная новую строку для каждого сводной таблицы.
  7. Шаг 7 говорит Excel повторить цикл для всех листов. После того, как все листы были оценены, макрос переходит к последнему шагу.
  8. Шаг 8 завершает с небольшим количеством форматирования размеров столбцов, чтобы соответствовало данным.

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

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

Таблица Excel – совсем другое. Это не просто диапазон данных, а цельный объект, у которого есть свое название, внутренняя структура, свойства и множество преимуществ по сравнению с обычным диапазоном ячеек. Также встречается под названием «умные таблицы». 

В наличии имеется обычный диапазон данных о продажах.

Обычный диапазон данных

Для преобразования диапазона в Таблицу выделите любую ячейку и затем Вставка → Таблицы → Таблица

Создать таблицу Excel с ленты

Есть горячая клавиша Ctrl+T.

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

Создание таблицы Excel

Как правило, ничего не меняем. После нажатия Ок исходный диапазон превратится в Таблицу Excel.

Перед тем, как перейти к свойствам Таблицы, посмотрим вначале, как ее видит сам Excel. Многое сразу прояснится.

Структура и ссылки на Таблицу Excel

Каждая Таблица имеет свое название. Это видно во вкладке Конструктор, которая появляется при выделении любой ячейки Таблицы. По умолчанию оно будет «Таблица1», «Таблица2» и т.д.

Вкладка Конструктор для таблицы Excel

Если в вашей книге Excel планируется несколько Таблиц, то имеет смысл придать им более говорящие названия. В дальнейшем это облегчит их использование (например, при работе в Power Pivot или Power Query). Я изменю название на «Отчет». Таблица «Отчет» видна в диспетчере имен Формулы → Определенные Имена → Диспетчер имен.

Таблица в диспетчере имен

А также при наборе формулы вручную.

Таблица в подсказке при наборе формулы

Но самое интересное заключается в том, что Эксель видит не только целую Таблицу, но и ее отдельные части: столбцы, заголовки, итоги и др. Ссылки при этом выглядят следующим образом.

=Отчет[#Все] – на всю Таблицу
=Отчет[#Данные] – только на данные (без строки заголовка)
=Отчет[#Заголовки] – только на первую строку заголовков
=Отчет[#Итоги] – на итоги
=Отчет[@] – на всю текущую строку (где вводится формула)
=Отчет[Продажи] – на весь столбец «Продажи»
=Отчет[@Продажи] – на ячейку из текущей строки столбца «Продажи»

Для написания ссылок совсем не обязательно запоминать все эти конструкции. При наборе формулы вручную все они видны в подсказках после выбора Таблицы и открытии квадратной скобки (в английской раскладке).

Выбор элемента таблицы в формуле

Выбираем нужное клавишей Tab. Не забываем закрыть все скобки, в том числе квадратную.

Если в какой-то ячейке написать формулу для суммирования по всему столбцу «Продажи»

=СУММ(D2:D8)

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

=Отчет[Продажи]

Т.е. ссылка ведет не на конкретный диапазон, а на весь указанный столбец.

Ссылка на столбец таблицы

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

А теперь о том, как Таблицы облегчают жизнь и работу.

Свойства Таблиц Excel

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

Заголовки таблицы Excel

2. Если Таблица большая, то при прокрутке вниз названия столбцов Таблицы заменяют названия столбцов листа.

Заголовки таблицы всегда на экране

Очень удобно, не нужно специально закреплять области.

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

4. Новые значения, записанные в первой пустой строке снизу, автоматически включаются в Таблицу Excel, поэтому они сразу попадают в формулу (или диаграмму), которая ссылается на некоторый столбец Таблицы.

Добавление новых значений в таблицу Excel
Новые ячейки также форматируются под стиль таблицы, и заполняются формулами, если они есть в каком-то столбце. Короче, для продления Таблицы достаточно внести только значения. Форматы, формулы, ссылки – все добавится само.

5. Новые столбцы также автоматически включатся в Таблицу.

Добавление нового столбца

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

Введение формулы в столбец Таблицы Excel

Помимо указанных свойств есть возможность сделать дополнительные настройки.

Настройки Таблицы

В контекстной вкладке Конструктор находятся дополнительные инструменты анализа и настроек.

С помощью галочек в группе Параметры стилей таблиц

Настройка Таблицы Excel

можно внести следующие изменения.

— Удалить или добавить строку заголовков

— Добавить или удалить строку с итогами

— Сделать формат строк чередующимися

— Выделить жирным первый столбец

— Выделить жирным последний столбец

— Сделать чередующуюся заливку строк

— Убрать автофильтр, установленный по умолчанию

В видеоуроке ниже показано, как это работает в действии.

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

Стили Таблицы

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

Инструменты Таблицы Excel

Однако самое интересное – это создание срезов.

Кнопка создания среза в Таблице Excel

Срез – это фильтр, вынесенный в отдельный графический элемент. Нажимаем на кнопку Вставить срез, выбираем столбец (столбцы), по которому будем фильтровать,

Выбор столбцов для среза

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

Срез Таблицы Excel

Для фильтрации Таблицы следует выбрать интересующую категорию.

Фильтрация Таблицы с помощью среза

Если нужно выбрать несколько категорий, то удерживаем Ctrl или предварительно нажимаем кнопку в верхнем правом углу, слева от снятия фильтра.

Попробуйте сами, как здорово фильтровать срезами (кликается мышью).

Для настройки самого среза на ленте также появляется контекстная вкладка Параметры. В ней можно изменить стиль, размеры кнопок, количество колонок и т.д. Там все понятно.

Параметры среза

Ограничения Таблиц Excel

Несмотря на неоспоримые преимущества и колоссальные возможности, у Таблицы Excel есть недостатки.

1. Не работают представления. Это команда, которая запоминает некоторые настройки листа (фильтр, свернутые строки/столбцы и некоторые другие).

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

3. Невозможно вставить промежуточные итоги.

4. Не работают формулы массивов.

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

Однако на фоне свойств и возможностей Таблиц, эти недостатки практически не заметны.

Множество других секретов Excel вы найдете в онлайн курсе.

Поделиться в социальных сетях:

 

Dollinsky

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

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

Коллеги, прошу помощи:
Есть ли какой-то способ получить список умных таблиц, которые «живут» в книге (той же самой — ThisWorkbook)?
В идеале, чтобы такой список попадал на какой-то лист, специально отведенный для этого и столбцы списка показывали:
1) Наименование умной таблицы
2) Лист (имя), на котором  она размещена
3) Адрес диапазона умной таблицы

Спасибо!

 

БМВ

Модератор

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

Excel 2013, 2016

#2

11.08.2021 17:03:47

Код
For Each Sheet In Sheets
For Each LO In Sheet.ListObjects
With LO
    Debug.Print .Name, .Parent.Name, .Range.Address
End With
Next
Next

По вопросам из тем форума, личку не читаю.

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Dollinsky, цикл по всем листам книги (For Each sh in ActiveWorkBook), в нём цикл по всем умным таблицам (For Each LO in sh.ListObjects)
1. LO.Name
2. sh.Name
3. LO.Range.Address(0,0,xlA1)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Dollinsky

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

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

Спасибо! В Immediate попадает, а как на лист вывести? Скажем, Лист4 начиная со 2-й строки по столбцам B,C,D ?
Слаб в VBA :( Сорри

 

БМВ

Модератор

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

Excel 2013, 2016

#5

11.08.2021 17:38:52

Цитата
Dollinsky написал:
Слаб в VBA  Сорри

та же фигня + еще и лень  :D  

По вопросам из тем форума, личку не читаю.

 

Dollinsky

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

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

Спасибо!
Не знал, какого типа переменной объявить LO и Sheet. Пришлось отключить Option Explicite, заработало. Если LO  объявлять как ListObject, то выдает ошибку. Если Object, то работает.
Спасибо еще раз!

Изменено: Dollinsky11.08.2021 18:47:55

 

sokol92

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

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

#7

11.08.2021 19:16:20

Цитата
Dollinsky написал:
Если LO  объявлять как ListObject, то выдает ошибку.

Не должно. Проверьте:

Код
Dim Sheet As Worksheet, LO As ListObject

Владимир

 

Dollinsky

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

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

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#9

12.08.2021 09:51:08

Цитата
sokol92: Dim Sheet As Worksheet

Владимир, приветствую! Всё-таки я не сторонник подменять служебные имена своими, и потому переменную листа я бы назвал sh As WorkSheet или sh As Sheet

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

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

Excel 2013, 2016

#10

12.08.2021 10:57:44

Цитата
Jack Famous написал: и потому переменную листа я бы

и потом в объектной модели появился объект SH и ты такой «ой блин все переписывать».
то что не вредит — используй и не парься. Удобно SH ок, objSheet — тоже , да и Sheet не пострадает.

да и

Цитата
Jack Famous написал: Всё-таки я не сторонник подменять служебные имена своими,

что-то не то во фразе.  :D

По вопросам из тем форума, личку не читаю.

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#11

12.08.2021 11:25:07

Цитата
БМВ:в объектной модели появился объект SH и ты такой «ой блин все переписывать»

VBE Replace  :idea:
да и ты веришь-то сам, что в VBA что-то обновится?  :D

Цитата
БМВ: что-то не то во фразе

«своими» можно было не писать, но и так корректно

Изменено: Jack Famous12.08.2021 11:26:47

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

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

Excel 2013, 2016

#12

12.08.2021 12:18:32

Цитата
Jack Famous написал:
VBA что-то обновится

в нем нет, а вот в объектной модели может.

По вопросам из тем форума, личку не читаю.

 

sokol92

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

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

#13

12.08.2021 20:41:17

Цитата
Jack Famous написал:
Всё-таки я не сторонник подменять служебные имена своими

Я имена привел для #2.
Насколько я помню, идентификатор Sheet никак не задействован в VBA и его нет среди имен объектов.
Перекрытие имен вещь не рекомендуемая, но иногда полезная, как в

случае

с функцией VBA Msgbox, которая совсем не дружит с юникодом.

Изменено: sokol9212.08.2021 20:41:34

Владимир

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#14

13.08.2021 09:29:36

Цитата
sokol92: идентификатор Sheet никак не задействован в VBA

это тип переменной

Цитата
Jack Famous: sh As Sheet

Цитата
sokol92: Перекрытие имен вещь не рекомендуемая, но иногда полезная, как в  случае  с функцией VBA Msgbox

ну тут уже вкусовщина. Я, как разработчик, лучше вызову MyMsgBox с блэкджеком и прочим, чем буду вызывать MsgBox, с разным результатом в зависимости от того, есть подмена или нет  :)
Ну и всегда есть Replace, если нужно заменить функцию  ;)

Изменено: Jack Famous13.08.2021 09:31:01

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

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

Excel 2013, 2016

#15

13.08.2021 09:44:40

Off

Цитата
Jack Famous написал:
MyMsgBox

да ладно , вангую будет PRDXMsgBox  :D

По вопросам из тем форума, личку не читаю.

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#16

13.08.2021 09:47:43

Цитата
БМВ:PRDXMsgBox

почти: PRDX_MsgBox  :D
У меня в этом порядок — где код находится, оттуда и префикс, чтобы не путаться  :)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Дмитрий(The_Prist) Щербаков

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

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

Профессиональная разработка приложений для MS Office

#17

13.08.2021 12:55:01

Цитата
БМВ написал:
For Each Sheet In Sheets

в зависимости от ситуации может очень сильно подвести, выдав ошибку типов. Например, если в книгу будет вставлен лист типа Диаграмма, либо Лист макросов, Диалоговых окон…У этих листов нет таких объектов, как таблицы и в них они не могут быть вставлены.
Поэтому правильнее будет делать цикл исключительно по Worksheets, т.к. только в них могут быть вставлены умные таблицы:

Код
For Each Sheet In WorkSheets
Цитата
Jack Famous написал:
не сторонник подменять служебные имена своими

а нет служебного Sheet. Поэтому можно и попользовать :)

Цитата
Jack Famous написал:
это тип переменной

нет такого типа. Есть коллекция Sheets, которая подразделяется на 5 других типов:

  • Рабочие листы
  • Листы диаграмм
  • Листы макросов 4.0
  • Листы международных макросов
  • Листы диалогов

Есть Worksheets, которая содержит только рабочие листы. И есть Worksheet — это как раз тип. А типа Sheet нет и не было. И скорее всего не будет, т.к. не может быть просто типа Sheet, т.к. его нельзя будет отнести к конкретному типу листов, а MS любит конкретику в этом плане :)

Изменено: Дмитрий(The_Prist) Щербаков13.08.2021 12:55:27

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#18

13.08.2021 13:04:25

Цитата
Дмитрий(The_Prist) Щербаков: нет служебного Sheet

проверил, действительно нет, спасибо тебе и Мише с Соколом  :)
Наверное по аналогии Worksheet(s) = Sheet(s) подумал, т.к. коллекция Sheets есть  :sceptic:

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

БМВ

Модератор

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

Excel 2013, 2016

#19

13.08.2021 17:36:57

Цитата
Дмитрий(The_Prist) Щербаков написал:
правильнее будет делать цикл исключительно по Worksheets,

да, согласен. Редко такое бывает но ради универсальности лучше так.

По вопросам из тем форума, личку не читаю.

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

Лист, показанный на рис. 167.1, отображает тот тип преобразования, о котором я говорю. Диапазон А1:Е4 содержит исходную сводную таблицу: 48 точек данных. Столбцы G:I показывают часть 48-строковой таблицы, полученную из сводной таблицы. Другими словами, каждое значение в исходной сводной таблице преобразуется в строку, которая также содержит соответствующие значению название продукта и месяц. Этот тип списка полезен, поскольку его можно отсортировать и манипулировать им другими способами.

Рис. 167.1. Преобразование сводной таблицы в список

Рис. 167.1. Преобразование сводной таблицы в список

Хитрость создания такого списка заключается в использовании сводной таблицы. Но прежде чем вы сможете применить этот метод, вы должны добавить команду Мастер сводных таблиц на панель быстрого доступа. Excel 2007, Excel 2010 и Excel 2013 все еще поддерживают Мастера сводной таблицы, но он недоступен на ленте. Чтобы получить доступ к мастеру, выполните следующие действия.

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

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

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

  1. Активизируйте любую ячейку в сводной таблице.
  2. Щелкните на значке Мастер сводных таблиц и диаграмм, который вы добавили на панель быстрого доступа.
  3. В диалоговом окне Мастер сводных таблиц и диаграмм установите первый переключатель в положение в нескольких диапазонах консолидации и нажмите кнопку Далее.
  4. В шаге 2а установите переключатель в положите Создать поля страницы и нажмите кнопку Далее.
  5. В шаге 2b в поле Диапазон укажите диапазон сводной таблицы (А1:Е4 для выборки из примера) и нажмите кнопку Добавить; затем нажмите кнопку Далее, чтобы перейти к шагу 3.
  6. В шаге 3 выберите место для сводной таблицы и нажмите кнопку Готово. Excel создаст сводную таблицу с данными и покажет область Список полей сводной таблицы.
  7. В области Список полей сводной таблицы снимите флажки Строка и Столбец.

Так, сводная таблица остается только с полем данных Сумма по полю Значение. На данный момент небольшая сводная таблица показывает только сумму всех значений (рис. 167.2).

Рис. 167.2. Эта небольшая сводная таблица может быть расширена

Рис. 167.2. Эта небольшая сводная таблица может быть расширена

Чтобы завершить, щелкните два раза на ячейке, содержащей итоговое значение (2851 в этом примере). Excel создаст новый лист, который будет содержать исходные данные в виде таблицы (рис. 167.3). Заголовки столбцов представляют общее описание (Строка, Столбец и Значение), так что вы, вероятно, захотите изменить их и сделать более информативными.

Рис. 167.3. Сводная таблица была успешно преобразована в обычную таблицу

Рис. 167.3. Сводная таблица была успешно преобразована в обычную таблицу

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