Cărți de lucru împărțite după foi de lucru - Sfaturi Excel

Aveți un registru de lucru cu multe foi de lucru. Doriți să trimiteți fiecare foaie de lucru unei alte persoane. Astăzi, un macro pentru a împărți datele.

Urmăriți videoclipul

  • Joe + Alții caută o modalitate de a salva fiecare foaie de lucru într-un fișier diferit
  • Util pentru interogarea Power sau după utilizarea paginilor Afișare filtru raport

Transcriere video

Aflați Excel din Podcast, Episodul 2107 - Împărțiți fiecare foaie de lucru într-un nou registru de lucru

Bună, binevenit înapoi. Sunt și netcast. Eu sunt Bill Jelen.

Știam în fundul capului că trebuie să fac asta de mult timp, dar două podcast-uri recente l-au adus cu adevărat, l-au adus acasă.

Recent, în episodul 2106, în care creăm un PDF din toate combinațiile de feliere. La sfârșitul acestui episod, am arătat o metodă alternativă în care creăm multe rapoarte pivot, dar le pune pe toate în același registru de lucru și am primit un e-mail de la Joe în California, spune bine, uite că trebuie să trimit fiecare foaie de lucru unui alt client și același lucru, în seminariile mele Power Excel live, unde arată acel truc, oamenii spun, ei bine, nu vrem totul în același registru de lucru, îl vrem separat și probabil chiar mai important decât atât, este din nou în episodul 2077, unde am vorbit despre modul în care Power Query are acum capacitatea de a combina toate fișierele Excel dintr-un folder, nu? Și acest lucru este miraculos. Funcționează excelent. Dacă ați avut 400 de fișiere Excel, fiecare cu o singură foaie de lucru, va prelua toate acele date din toate acele foi de lucru și le va pune într-o singură grilă.Ceea ce este minunat, dar dacă am avea aproape aceeași problemă. Un registru de lucru cu 400 de foi de lucru? Nu o poate face, corect. Nu se poate ocupa de asta - încă. Bine, așa că acum, 1 iulie 2017, nu se poate descurca cu asta. Poate că în șase luni se poate descurca, dar chiar acum trebuie să fie cărți de lucru cu o singură foaie.

Deci, avem nevoie de o modalitate de a putea împărți lucrurile în fișiere individuale. Bine, așa că hai să configurăm asta. Avem Cartea de lucru pe care am făcut-o în 2106, unde avem datele și apoi tabelul pivot original și intrăm în Analize, Opțiuni, Afișare pagini filtrare rapoarte și afișare pagini ale cheii și creează o grămadă de foi de lucru diferite pentru mine și Vreau să iau acele foi de lucru și să creez fiecare este un fișier separat, dar, deși avem asta, există unele lucruri precum Sheet2 și Data pe care nu vreau să le împart.

Bine? Și, desigur, pentru fiecare persoană, acele lucruri, acea listă de foi de lucru, pe care nu vrem să le împărțim, va fi diferită, dar voi presupune că aproape toată lumea are niște foi de lucru pe care nu le au Nu vreau să mă despart.

Bine, deci iată utilitarul pe care îl veți putea descărca. Divizorul de foi de lucru și aici am o secțiune în coloana B și este într-adevăr singurul lucru din coloana B în care puteți lista acele foi de lucru pe care nu doriți să le împărțiți. Poate fi mai mult de două. Puteți completa aici câte doriți. Puteți introduce rânduri noi și modul meu ieftin, nu am vrut să trebuiască să trec prin acestea în Macro, atât de departe în afara vederii dvs. aici, am un loc în care Macro poate scrie numele curent al foii de lucru și apoi un mic VLOOKUP simplu. Se spune, căutați această foaie de lucru la care lucrăm chiar acum, vedeți dacă s-a terminat în coloana B și, dacă este, vom ști că este una pe care nu vrem să o exportăm.

Bine și din nou, doar pentru a face acest lucru cât mai generic posibil, am mai multe game numite aici, Calea mea, Prefixul meu, Sufixul meu, Tipul meu și Lipirea mea. Bine, așa că îți dai seama unde vrei să meargă aceste lucruri. c: Rapoarte . Vreau ca fiecare fișier să aibă numele foii, dar înainte de numele foii, voi pune prefixul WB, Sufix fișier și nimic și atunci ai de ales aici: PDF sau XLSX.

Deci, vom începe cu XLSX, vom vorbi despre aceste valori de lipire înainte de a le salva mai târziu. Bine și chiar acum, aceasta este versiunea 1 iulie 2017, prima. Dacă îmbunătățim acest lucru, îl voi înlocui doar pe pagina web și veți găsi pagina web acolo în descrierile YouTube. În regulă, iată cum va funcționa acest lucru. Este un fișier XLSM. Deci, trebuie să vă asigurați că macro-urile sunt permise. alt = "" T, M, S, pentru securitate trebuie să fiți cel puțin la acest nivel sau mai jos. Chiar dacă sunteți în partea de sus, trebuie să vă schimbați, acesta închide registrul de lucru, se redeschide. Când deschideți Workbook-ul, se va spune: hei, sunteți dispus să acceptați Macro-urile aici și nu este deloc o Macro mare: șaizeci și opt de linii de cod și multe dintre acestea se ocupă doar de obținerea valorilor din Meniu Foaie,care sunt variabilele acum.

Totuși, acest lucru important este că va funcționa pe ActiveWorkbook. Deci, veți trece la Registrul de lucru care conține datele și apoi apăsați CTRL SHIFT S pentru al rula și va detecta ActiveWorkbook-ul și acesta va fi cel pe care îl împarte. Se apucă („MyPath”) și este doar pentru că uit mereu să pun acea bară inversă, dacă ultimul personaj nu este o bară inversă, atunci voi adăuga o bară inversă și apoi jos aici aceasta este lucrarea reală.

Pentru fiecare foaie de lucru, în original, în WBO.Whesheets active, vom testa pentru a vedea dacă este una care este acolo și coloana B. Dacă este, dacă nu, atunci vom exporta această foaie și eu adoră această linie de cod. WS.copy spune că, când iau acest registru de lucru, această foaie de lucru, din acest mare registru de lucru, cunoașteți 20 sau 400 de foi de lucru și mergem la WS.copy, care face o copie a acestuia și îl mută într-un nou registru de lucru și știm, știm că noul registru de lucru va deveni acum registrul de lucru activ în macro și, desigur, există o singură foaie în acel registru de lucru și acea foaie este foaia activă.

Deci, corect, aici pot să-mi dau seama de numele registrului de lucru. Setați-l, aplicați la această variabilă de obiect, registru de lucru nou, foaie de lucru nouă și apoi mai târziu, când trebuie să închid, pot face WBN.close după ce am terminat lucrarea. Aflăm noul nume de fișier folosind toate variabilele. Omoară acel fișier, dacă există deja și apoi, dacă este un fișier Excel, salvăm ca, dacă este un PDF.

Și apropo, acest cod PDF funcționează numai în Windows, dacă sunteți pe un Mac, scuze, va trebui să mergeți în altă parte pentru a afla codul Mac echivalent. Nu am un Mac. Știu că există o modalitate de a salva un PDF pe un Mac. Știu că codul este diferit. Va trebui să vă dați seama de asta sau să vă întoarceți la adevăratul Excel din Windows și apoi am terminat, închidem.

Bine, deci este doar un mic Macro simplu de genul acesta, treceți la manualul nostru de date aici, cel care conține toate foile de lucru. Există 20 de foi de lucru diferite aici, plus cele două pe care nu vreau să le fac și apoi CTRL SHIFT S așa și o vom urmări clipind pe măsură ce le creează pe fiecare. Iată-ne: 21 de fișiere create.

Să mergem să aruncăm o privire în Windows Explorer și iată rapoartele despre sistemul meu de operare (C :), acesta a fost creat pentru fiecare foaie de lucru, denumit în registrul de lucru original, a creat o nouă versiune cu WB în față. Bine acum, Joe, când Joe mi-a trimis acest bilet, mi-a spus că va trimite aceste date clienților și la început am intrat într-un fel de panică pentru că am spus, așteaptă un al doilea Joe, vom avea o problemă pentru că tu ești o să-i trimit lui Gary, datele sale, nu? Dar acesta este, ah, știți un live, un set de date live, este un tabel pivot live. Toate lucrurile de aici, s-ar putea să puteți obține toate informațiile pentru alți clienți de genul asta, nu? Băiete, nu vrei să îi trimiți unui client A informațiile pentru toți ceilalți clienți. Ar putea fi o bătaie de cap și, de fapt, când am recitit nota emisiunilor, el era mai deștept decât mine, pentru că a spus:Vreau să le creez ca fișiere PDF. Am fost ca, în regulă, bine, da, da, nu trebuie să ne facem griji ca fișiere PDF, este în regulă, dar ceea ce am adăugat aici la Macro a fost capacitatea de a spune Lipire valori înainte de salvare? ADEVĂRAT.

Deci, setați acest lucru egal cu ADEVĂRAT și asta va invoca acest mic fragment de cod aici, unde spunem, dacă PasteV, apoi UsedRange.Copy și apoi UsedRange.PasteSpecial (xlPasteValues), UsedRange, mai degrabă decât să copiați și să lipiți toate cele 17 miliarde de celule , o va limita la bine, UsedRange.

Bine, deci să trecem înapoi, să comutăm acea Foaie de lucru care conține datele, CTRL SHIFT S pentru împărțire și apoi această nouă versiune în directorul de rapoarte, veți vedea că a scăpat de tabelul pivot și a lăsat doar datele acolo. Deci, astfel nu pot ajunge la toate datele.

Bine, vom încerca cealaltă caracteristică. Vom încerca dacă trecem de la Excel la PDF, schimbăm prefixul în PDFFileOf, orice ne dorim acolo. Nici nu voi încerca sufixul, ceva. Bine și apoi treceți la date, CTRL SHIFT S. Bine, așa că primim aceleași fișiere PDF Fișier al numelui Foaie de lucru, ceva din PDF și ar trebui să avem doar mici PDF-uri frumoase acolo, așa.

În regulă, așa că îl aveți pe the.com Foaie de lucru Splitter. Sperăm că este suficient de generic, pentru orice aveți nevoie. Descărcați-l din nou de la linkul din comentariile YouTube. Pentru a afla mai multe despre VBA, consultați această carte Excel 2016 VBA și Macros de la mine și Tracy? 08: 50.640. Faceți clic pe butonul I din colțul din dreapta sus, pentru a citi mai multe despre carte.

Joe, din California, și mulți alții au cerut o modalitate de a salva fiecare Foaie de lucru într-un fișier diferit, fie ca un PDF în cazul lui Joe, fie ca un fișier Excel în cazul în care veți utiliza Power Query pentru a combina fișiere. Așa că am creat un mic utilitar generic Freeware acolo. Puteți să descărcați și să dați o lovitură.

Vreau să-i mulțumesc lui Joe pentru că a pus această întrebare și vreau să-ți mulțumesc că ai trecut pe aici. Ne vedem data viitoare pentru un alt netcast de la.

Descărcare fișier

Descărcați exemplarul de fișier aici: Podcast2107.xlsm

Articole interesante...