Розділити книгу за робочими аркушами - Поради Excel

У вас є робоча книга з багатьма аркушами. Ви хочете надіслати кожен аркуш іншій особі. Сьогодні макрос для розподілу цих даних.

Переглянути відео

  • Joe + Others шукає спосіб зберегти кожен аркуш в іншому файлі
  • Корисно для Power Query або після використання Показати сторінки фільтрів звітів

Стенограма відео

Дізнайтеся Excel з подкасту, епізод 2107 - Розділіть кожен аркуш на нову книгу

Гей, ласкаво просимо назад. Я і netcast. Я Білл Джелен.

Я в потилиці знав, що мені це потрібно було робити давно, але два останні подкасти насправді це принесли, привезли додому.

Зовсім недавно в епізоді 2106, де ми створювали PDF-файл із усіх комбінацій Slicer. Пізніше в тому епізоді я показав альтернативний метод, коли ми створюємо багато зведених звітів, але він поміщає їх усіх в одну книгу, і я отримав електронне повідомлення від Джо в Каліфорнії, ну, дивись, мені потрібно надіслати кожен аркуш іншому клієнту, і те саме, у моїх живих семінарах Power Excel, де я показую цей фокус, люди кажуть, ну ні, ми не хочемо, щоб все це було в одній книзі, ми хочемо це окремо, а потім, можливо, навіть важливіше цього епізод 2077, де я розповідав про те, як Power Query тепер має можливість поєднувати всі файли Excel у папці, так? І це дивно. Це чудово працює. Якщо у вас було 400 файлів Excel, кожен з яких має один робочий аркуш, він захопить усі ці дані з усіх цих аркушів і помістить їх в одну сітку.Що чудово, але якби у нас була майже та сама проблема. Одна книга з 400 робочими аркушами? Він не може цього зробити, правильно. Вона не може з цим впоратися - поки що. Правильно, тому прямо зараз, 1 липня 2017 року, він не може з цим справитись. Можливо, за півроку він зможе з цим впоратися, але зараз це повинні бути робочі зошити в одному аркуші.

Отже, нам потрібен спосіб, щоб можна було розбити речі на окремі файли. Гаразд, тож давайте просто налаштуємо це. У нас є Робоча книга, яку я зробив у 2106 році, де ми маємо дані, а потім оригінальну зведену таблицю, і ми переходимо до Аналіз, Параметри, Показувати сторінки фільтрів звітів і показуємо сторінки ключа, і це створює цілу купу різних робочих аркушів для мене і Я хочу взяти ці робочі листи і створити кожен з них окремим файлом, але, хоча у нас це є, є такі речі, як Sheet2 та Data, які я не хочу розділяти.

Добре? І, звичайно, для кожної людини той матеріал, той список робочих листів, який ми не хочемо розділяти, буде іншим, але я здогадуюсь, що майже у кожного є такі робочі листи, які вони не мають ' я хочу розділити.

Добре, ось ось утиліта, яку ви зможете завантажити. Розділювач робочих аркушів і тут у мене є розділ у стовпці B, і це справді єдине, що є в стовпці B, де ви можете перерахувати ті робочі листи, які ви не хочете розділяти. Це може бути більше двох. Тут ви можете заповнити скільки завгодно. Ви можете вставити нові рядки, і мій дешевий спосіб, я не хотів би прокручувати їх у макросі, поки що поза вашим видом тут, у мене є місце, де макрос може написати поточну назву робочого аркуша, а потім простий маленький VLOOKUP. Там написано: перейдіть і подивіться на цей робочий аркуш, над яким ми зараз працюємо, подивіться, чи він закінчений у стовпці В, і якщо так, ми знатимемо, що це той, який ми не хочемо експортувати.

Добре, а потім ще раз, щоб зробити це якомога загальнішим, у мене тут є кілька іменованих діапазонів, мій шлях, мій префікс, мій суфікс, мій тип і моя вставка. Гаразд, ви зрозуміли, куди ви хочете подітись. c: Звіти . Я хочу, щоб кожен файл мав назву аркуша, але перед назвою аркуша я збираюся вставити префікс WB, суфікс файлу і нічого, і тут у вас є вибір: PDF або XLSX.

Отже, ми почнемо з XLSX, ми поговоримо про ці значення вставки перед збереженням пізніше. Гаразд і зараз це перша версія від 1 липня 2017 року. Якщо ми покращимо це, я просто заміню його на веб-сторінці, і ви можете знайти веб-сторінку там, в описі YouTube. Гаразд, ось ось як це буде працювати. Це файл XLSM. Отже, ви повинні переконатися, що макроси дозволені. alt = "" T, M, S, для безпеки ви повинні бути принаймні на цьому рівні або нижче. Правильно, якщо ви знаходитесь у верхній частині, вам потрібно змінитись, вона закриє книгу, знову відкриє. Коли ви відкриваєте Робочу книгу, це скаже: ей, чи готові ви прийняти тут макроси, і це взагалі не великий макрос: шістдесят вісім рядків коду, і багато з цього стосується лише виведення значень із меню Аркуш,які змінні зараз.

Однак головне тут те, що це буде працювати на ActiveWorkbook. Отже, ви перейдете до книги, яка містить дані, а потім натисніть CTRL SHIFT S, щоб запустити її, і вона виявить ActiveWorkbook, і це буде той, який вона розділить. Він захоплює (“MyPath”), і це просто тому, що я завжди забуваю поставити цю зворотну косу риску, якщо останній символ не є зворотною рискою рисою, тоді я збираюся додати зворотну скісну риску, а потім тут це фактична робота.

Для кожного робочого аркуша, в оригіналі, в активному WBO.Worksheets, ми перевіримо, чи є це там, і стовпець B. Якщо це так, якщо ні, тоді ми експортуємо цей аркуш, і я люблю цей рядок коду. WS.copy каже, що коли я беру цю книгу, цей аркуш із цієї великої книги, ви знаєте 20 або 400 робочих аркушів, і ми перейдемо до WS.copy, який робить її копію та переміщує до нової робочої книги і ми знаємо, ми знаємо, що ця нова Книга тепер стане активною Книгою в Макросі, і, звичайно, в цій Книзі є лише один аркуш, і цей аркуш є активним.

Точно так, тут я можу зрозуміти назву книги. Встановіть його, застосуйте до цього об’єктного змінного, робочого зошита нового, робочого аркуша нового, а потім, коли мені доведеться закрити, я можу зробити WBN.close після того, як я виконаю роботу. Ми з’ясовуємо нове ім’я файлу, використовуючи всі змінні. Убийте цей файл, якщо він уже існує, а потім, якщо це файл Excel, ми робимо збереження як, якщо це PDF.

І до речі, цей PDF-код працює лише в Windows, якщо ви перебуваєте на Mac, вибачте, вам доведеться піти кудись ще, щоб з’ясувати еквівалентний код Mac. У мене немає Mac. Я знаю, що є спосіб зберегти PDF-файл на Mac. Я знаю, що код інший. Вам доведеться це зрозуміти або повернутися до справжнього Excel у Windows, і тоді ми закінчимо, ми закриваємо.

Гаразд, так це просто такий маленький макрос, перейдіть до нашої книги з даними тут, тієї, яка має всі робочі аркуші. Тут є 20 різних робочих аркушів, плюс два, які я не хочу робити, а потім CTRL SHIFT S, як це, і ми будемо спостерігати, як він блимає під час створення кожного з них. Ми знаходимось: створено 21 файл.

Давайте заглянемо в Провідник Windows, і ось моя ОС (C :) Звіти, створені для кожного робочого аркуша, названий у оригінальній робочій книзі, він створив нову версію з WB вперед. Гаразд, Джо, коли Джо надіслав мені цю записку, він сказав, що збирається надіслати ці дані клієнтам, і спочатку я впав у паніку, тому що сказав: почекай секунду Джо, у нас буде проблема, бо ти збирається надіслати Гері, його дані, так? Але це, ах, ви знаєте прямий ефір, прямий набір даних, це реальна зведена таблиця. Всі речі тут, ви могли б отримати всю інформацію для інших клієнтів, як це, так? Хлопче, ти не хочеш надсилати клієнту А інформацію для всіх інших клієнтів. Це може бути клопотом, і насправді, коли я перечитав примітку до шоу, він був розумніший за мене, бо сказав:Я хочу створити їх як файли PDF. Мені здалося, добре, ну тоді так, нам не потрібно турбуватися про PDF-файли, це добре, але те, що я додав сюди, до Макросу - це можливість сказати Вставити значення перед збереженням? ІСТИНА.

Отже, ви встановлюєте рівне TRUE, і це буде викликати цей крихітний біт коду тут, де ми говоримо: If PasteV Тоді UsedRange.Copy, а потім UsedRange.PasteSpecial (xlPasteValues), UsedRange, а не копіювати та вставляти всі 17 мільярдів комірок , це обмежить його добре, UsedRange.

Добре, так що давайте повернемось назад, перемкнемо той робочий аркуш, в якому є дані, CTRL SHIFT S для розділення, а потім ця нова версія в каталозі звітів, ви побачите, що вона позбулася зведеної таблиці і залишила там лише дані. Тож таким чином вони не можуть отримати всі дані.

Alright, we'll try the other feature. We'll try if we switch from Excel to PDF change the prefix to PDFFileOf, whatever we want there. I won't even try the suffix, something. Alright and then switch to the data, CTRL SHIFT S. Alrighty, so we get the same files PDFFileOf the Worksheet name, something of PDF and we should have just nice little PDFs in there, like that.

Alright so there you have it the.com Worksheet Splitter. Hopefully generic enough, for whatever you need. Download it again from the link there in the YouTube comments. To learn more about VBA, check out this book Excel 2016 VBA and Macros by myself and Tracy ?08:50.640. Click that I on the top right hand corner, to read more about the book.

Джо з Каліфорнії, а також багато інших запитували спосіб збереження кожного робочого аркуша в іншому файлі - як PDF у випадку Джо, так і як файл Excel, якщо ви збираєтеся використовувати Power Query для поєднання файлів. Тож я створив приємну маленьку загальну безкоштовну утиліту. Ви можете завантажити та спробувати.

Я хочу подякувати Джо за те, що він поставив це запитання, і хочу подякувати вам за те, що ви зайшли. Ми побачимось наступного разу для чергової трансляції від.

Завантажити файл

Завантажте зразок файлу тут: Podcast2107.xlsm

Цікаві статті...