Разделяне на работна книга по работни листове - Съвети на Excel

Съдържание

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

Гледам видео

  • Joe + Others търси начин да запази всеки работен лист в различен файл
  • Полезно за Power Query или след използване на показване на страници с филтри за отчети

Видео транскрипция

Научете Excel от подкаст, епизод 2107 - Разделете всеки работен лист в нова работна книга

Ей добре дошли обратно. Аз съм и в мрежата. Аз съм Бил Джелен.

Знаех в задната част на главата си, че трябваше да направя това отдавна, но два скорошни подкаста наистина го донесоха, донесоха у дома.

Съвсем наскоро в епизод 2106, където създавахме PDF от All Slicer Combinations. В края на този епизод показах алтернативен метод, при който създаваме много обобщени отчети, но той ги поставя в една и съща работна книга и получих имейл от Джо в Калифорния, казва, добре, вижте, трябва да изпратя всеки работен лист на различен клиент и същото нещо в моите семинари на Power Excel, където показвам този трик, хората казват, ами не, не искаме всичко в една и съща работна книга, искаме го отделно и след това вероятно дори по-важно от това, се завръща епизод 2077, където говорих за това как Power Query вече има възможността да комбинира всички файлове на Excel в папка, нали? И това е чудотворно. Той работи чудесно. Ако сте имали 400 Excel файла, всеки с един работен лист, той ще вземе всички тези данни от всички тези работни листове и ще ги постави в една мрежа.Което е страхотно, но ако имахме почти същия проблем. Една работна книга с 400 работни листа? Не може да го направи, нали. Не може да се справи с това - все още. Точно така, точно сега, 1 юли 2017 г., не може да се справи с това. Може би след шест месеца може да се справи с това, но в момента това трябва да бъдат работни листове с един лист.

Така че имаме нужда от начин да можем да разделим нещата на отделни файлове. Добре, нека нека просто да настроим това. Имаме Работната книга, която направих през 2106 г., където имаме данните и след това оригиналната обобщена таблица и влизаме в Анализ, Опции, Показване на страници с филтри на отчети и показване на страници на ключа, и тя създава цял куп различни работни листове за мен и Искам да взема тези работни листове и да създам всеки от тях е отделен файл, но въпреки че го имаме, има някои неща като Sheet2 и Data, които не искам да разделям.

Добре? И разбира се, за всеки отделен човек тези неща, тези, този списък с работни листове, които не искаме да разделяме, ще бъдат различни, но ще предположа, че почти всеки има някои работни листове, които не не искам да се разделя.

Добре, ето помощната програма, която ще можете да изтеглите. Разделителят на работни листове и тук имам раздел в колона Б и това е наистина единственото нещо в колона Б, където можете да изброите тези работни листове, които не искате да разделяте. Може да е повече от две. Тук можете да попълните колкото искате. Можете да вмъкнете нови редове и моя евтин начин, не исках да се налага да ги преглеждам в макроса, досега извън вашия изглед тук, имам място, където макросът може да напише текущото име на работния лист и след това просто малко VLOOKUP. Той казва, отидете, потърсете този работен лист, по който работим в момента, вижте дали е свършил в колона Б и ако е, ще знаем, че това е, което не искаме да експортираме.

Добре и след това отново само за да направя това възможно най-общо, имам няколко именувани диапазона тук, моя път, моя префикс, моя суфикс, моя тип и моята паста. Добре, така че разберете къде искате да отидат тези неща. c: Отчети . Искам всеки файл да има името на листа, но преди името на листа ще поставя префикса на WB, File Suffix и нищо и след това имате избор тук: 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, който прави копие от него и го премества в нова работна книга и знаем, знаем, че тази нова работна книга сега ще се превърне в активната работна книга в макроса и разбира се има само един лист в тази работна книга и този лист е активният лист.

Точно така, тук мога да разбера името на работната книга. Задайте го, Приложете към тази променлива на обекта, Workbook New, Worksheet New и след това, когато трябва да затворя, мога да направя WBN.close, след като свърша работата. Ние откриваме новото име на файла, като използваме всички променливи. Убийте този файл, ако той вече съществува и след това, ако е файл на Excel, правим запис като, ако е PDF.

И между другото този PDF код работи само в Windows, ако сте на Mac, съжалявам, ще трябва да отидете някъде другаде, за да разберете еквивалентния Mac код. Нямам Mac. Знам, че има начин да запазите PDF на Mac. Знам, че кодът е различен. Ще трябва да разберете това или да се върнете към истинския Excel в Windows и след това сме готови, затваряме.

Добре, така че това е просто един малък макрос като този, превключете към нашата работна книга за данни тук, тази, която има всички работни листове. Тук има 20 различни работни листа, плюс двата, които не искам да правя, и след това CTRL SHIFT S като този и ще го гледаме как мига, докато създава всеки един. Ето ни: създадени са 21 файла.

Нека да разгледаме Windows Explorer и ето моята OS (C :) Reports, създадена за всеки работен лист, наречена в оригиналната работна книга, създаде нова версия с 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 за комбиниране на файлове. Така че създадох хубава малка Generic Freeware Utility там. Можете да изтеглите и да опитате.

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

Свали файл

Изтеглете примерния файл тук: Podcast2107.xlsm

Интересни статии...