Список книг таблица excel

Список книжной коллекции

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

Excel

Скачать

Открыть в браузере

Поделиться

Поделиться через Facebook

Поделиться через LinkedIn

Отправить по электронной почте

 

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,

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

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

0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

1

Создать таблицу коллекции книголюба

09.11.2014, 14:57. Показов 3483. Ответов 10


Студворк — интернет-сервис помощи студентам

Таблица содержит информацию о личной коллекции книголюба.
Структура записи:
— Шифр книги,
— Автор,
— Название,
— Год издания.
Киличество запиcей = 20.
Вывести следующую информацию:
1. список книг автора Z которые есть в коллекции.
2. число книг издания XXXX года которые есть в коллекции.
3. список книг коллекции (шифр, автор, название, год издания), отсортированный по шифру.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

09.11.2014, 14:57

Ответы с готовыми решениями:

Создать файл, содержащий сведения о личной коллекции книголюба
создать файл содержащий сведения о личной коллекции книголюба страктура записи:1) шифр книги,…

Создать класс, содержащий сведения о личной коллекции книголюба
Создать класс, содержащий сведения о личной коллекции книголюба. Класс должен содержать следующие…

Создать файл, содержащий сведения о личной коллекции книголюба
Структура записи: автор книги, название, год издания, местоположение(номер стеллажа).
Количество…

Создать класс, содержащий сведения о личной коллекции книголюба
Создать класс, содержащий сведения о личной коллекции книголюба. Класс должен содержать следующие…

10

414 / 262 / 82

Регистрация: 27.10.2012

Сообщений: 860

09.11.2014, 15:16

2

И Вам желаю не хворать.
Таблицу создал, можно быть свободным?



0



0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

09.11.2014, 15:21

 [ТС]

3

Сарказм? Можно по подробней, а то я что то не понял.



0



414 / 262 / 82

Регистрация: 27.10.2012

Сообщений: 860

09.11.2014, 15:51

4

Что это вообще? Задание или похвастаться решили? Если задание то где попытки решить его или вопрос по конкретной задаче а не всё сразу? Как это надо решить — формулы аль VBA? Выводить результаты на лист, месседжбокс, а может в файл? А про здоровье — не берите в голову.



0



0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

09.11.2014, 15:57

 [ТС]

5

Я понял, приношу извинения, задание в принципе не сложное, но я не понимаю что за «Шифр книги» где его узнать, и еще как сделать так, например что бы когда я вводил год в пустую ячейку, то что бы мне показали количество книг которые сделаны в этом году, которые указаны в таблице. Еще раз приношу извинение, не подумал.



0



414 / 262 / 82

Регистрация: 27.10.2012

Сообщений: 860

09.11.2014, 16:18

6

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



0



0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

09.11.2014, 16:55

 [ТС]

7

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

Добавлено через 2 минуты
http://www.ex.ua/707131706487

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



0



414 / 262 / 82

Регистрация: 27.10.2012

Сообщений: 860

09.11.2014, 17:48

8

Цитата
Сообщение от HardLaw
Посмотреть сообщение

Только вот как скинуть Excel файл.

расширенный режим / управление вложениями и формулами я не гарантирую

Добавлено через 37 минут
Могу макросами, если устроит?



1



0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

09.11.2014, 18:01

 [ТС]

9

Устроит.



0



414 / 262 / 82

Регистрация: 27.10.2012

Сообщений: 860

09.11.2014, 23:23

10

Лучший ответ Сообщение было отмечено HardLaw как решение

Решение

Глянул в 1-й пост — обычный фильтр всю эту красоту делает.



1



0 / 0 / 0

Регистрация: 21.01.2013

Сообщений: 31

10.11.2014, 17:44

 [ТС]

11

Знал бы я как его сделать к вам бы не оброщался б.

Добавлено через 17 часов 50 минут
Спасибо вам за совет, действительно, поставил фильтр и все проблемы с поиском исчезли. Очень удобная штука.



0



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

Просто перечислите все открытые книги с VBA
Составьте список всех открытых книг и легко переключитесь на книгу с помощью VBA
Составьте список всех открытых книг и легко переходите к рабочей книге с помощью замечательного инструмента


Просто перечислите все открытые книги с VBA

В этом разделе вы узнаете, как использовать код VBA для вывода списка всех открытых книг в Excel.

1. Нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули.

2. Затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.

VBA: список всех открытых имен книг в Excel

Sub ListWorkbooks()
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId = "KutoolsforExcel"
	Set WorkRng = Application.Selection
	Set WorkRng = Application.InputBox("Out put to (single cell)", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng = WorkRng.Range("A1")
	xNum1 = Application.Workbooks.Count
	For i = 1 To xNum1
		xNum2 = Application.Workbooks(i).Sheets.Count
		WorkRng.Offset(i - 1, 0).Value = Application.Workbooks(i).Name
		For j = 1 To xNum2
			WorkRng.Offset(i - 1, j).Value = Application.Workbooks(i).Sheets(j).Name
		Next
	Next
End Sub

3. Запустите код VBA, нажав кнопку F5 ключ. в KutoolsforExcel диалоговом окне укажите ячейку для размещения списка книг, а затем щелкните значок OK кнопка. Смотрите скриншот:

Затем перечисляются все открытые книги с соответствующими листами.

Трудно обрабатывать код VBA? Вы можете добиться этого через третий метод с кликами.


Составьте список всех открытых книг и легко переключитесь на книгу с помощью VBA

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

1. нажмите другой + F11 для открытия Microsoft Visual Basic для приложений окно. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули.

2. Скопируйте и вставьте следующий код VBA в открытое окно модуля.

Код VBA: перечислить все открытые книги и перейти к книге

Sub SelectWB()
	Dim xWBName As String
	Dim xWb As Workbook
	Dim xSelect As String
	For Each xWb In Application.Workbooks
		xWBName = xWBName & xWb.Name & vbCrLf
	Next
	xTitleId = "KutoolsforExcel"
	xSelect = Application.InputBox("Enter one of the workbooks below:" & vbCrLf & xWBName, xTitleId, "", Type: = 2)
	Application.Workbooks(xSelect).Activate
End Sub

3. нажмите F5 ключ для запуска кода. Потом KutoolsforExcel появится диалоговое окно со списком всех открытых книг. Если вы хотите перейти к указанной книге, введите имя этой книги в поле и нажмите кнопку OK кнопка. Смотрите скриншот:


Составьте список всех открытых книг и легко переходите к рабочей книге с помощью замечательного инструмента

Для Панель навигации of Kutools for Excel, все открытые книги будут автоматически перечислены на панели, чтобы вы могли легко перемещаться между всеми открытыми книгами. Вам просто нужно щелкнуть одну из открытых книг, и она сразу же перейдет к этой книге.

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


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

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

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

вкладка kte 201905


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

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

офисный дно

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. Введите или вставьте код.

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