Futás összesen láblécben - Excel tippek

Tartalomjegyzék

Kinyomtathatja az Excel az egyes oldalak láblécében futó összeget? Nem beépített, de egy rövid makró megoldja a problémát.

Videót nézni

  • Cél: Az összes nyomtatott kategória teljes nyomtatása és a kategória% -a minden nyomtatott oldal alján
  • Probléma: Az Excel felhasználói felületén semmi sem tudhatja a képletet arról, hogy Ön a nyomtatott oldal alján van
  • Igen, "láthatja" az oldaltöréseket, de a képletek nem látják őket
  • Lehetséges megoldás: Használjon makrót
  • Stratégia: Adja hozzá a futás teljes számát és a kategória% -át minden sorhoz. Elrejtés minden sorban.
  • A kategória képletének teljes futása: =IF(A6=A5,SUM(F6,G5),SUM(F6))
  • A kategória képlet% -a: =G6/SUMIF($A$6:$A$2844,A6,$F$6:$F$2844)
  • Ha a munkafüzetet XLSX formátumban menti, akkor a Mentés másként elemet mentse XLSM formátumban
  • Ha még soha nem használt makrókat, módosítsa a makrók biztonságát
  • Ha még soha nem használt makrókat, mutassa meg a Fejlesztő fület
  • Váltson VBA-ra
  • Helyezzen be egy modult
  • Írja be a kódot
  • Rendelje hozzá a makrót egy alakhoz
  • Az oldalméret változásával futtassa a visszaállítási makrót

Videó átirat

Ismerje meg az Excel programot a Podcast 2058. epizódjából: Az összes oldal futtatása az egyes oldalak végén

Hé, üdvözlöm újra a neten, Bill Jelen vagyok. A mai kérdést Wiley küldte: Wiley az összes nyomtatott oldal utolsó sorában futó összes bevételt és kategória százalékos arányt akar mutatni. Tehát Wiley itt jelentéseket nyomtatott, rengeteg és rengeteg rekorddal, minden oldalon több oldalt az A oszlopban. És amikor a nyomtatott oldal végére értünk, Wiley itt keres egy összeget, amely a teljes bevételt mutatja, teljes futás ebben a kategóriában, majd a kategória százalékos aránya. Tehát láthatja, hogy 9,7% -on vagyunk ott, amikor a 2. - 21.1., A 3. - 33.3. Oldalra megyek. És az oldalszünetben, ahol az A kategóriával végzünk, a kategória összesítése és az összesítés 100%. Rendben, és amikor Wiley erről kérdezett tőlem, azt mondtam: „Ó, nem, nem…semmiképpen sem lehet a láblécben futó összeget tenni. Rendben, szóval ez bizony szörnyű olcsó csalás, és bátorítok mindenkit, aki ezt a YouTube-on nézi, ha van jobb módja, kérem mindenképpen, említse meg ezt a kommentekben, rendben? Ezért az ötletem éppen ott van a G és H oszlopban, hogy elrejtsem a futási összértéket és a kategória százalékát minden egyes sorban. Rendben, majd egy makróval észleljük, hogy az oldal végén vagyunk-e.re az oldal végén.re az oldal végén.

Rendben, tehát a két képlet, amelyet itt szeretnénk mondani, hé, ha ez a kategória megegyezik az előző kategóriával. Tehát, ha A6 = A5, akkor vegye fel ennek a bevételnek az összegét, tehát ez az F6-ban van, és az előző futó összeg ott fenn G5-ben. Most, hogy itt használom a SUM függvényt, ez nem hibázik, ha valaha megpróbálnánk hozzáadni a futási összértéket. Ellenkező esetben csak egy teljesen új kategóriába fogunk kerülni, így amikor A-ról B-re váltunk, akkor csak a tőlünk balra levő érték SUM-ját vesszük, amit épp oda tudtam volna tenni az F6-osba. De itt vagyunk, tudod, túl későn vagyunk. És akkor a kategória százaléka, ez borzasztóan nem hatékony. Ezen a soron a bevételt elosztjuk az összes bevétel összegével, ahol a kategória egyenlő A6-tal. Tehát ezek mind a kategóriák,ez a kategória ebben a sorban, majd adja hozzá az összes sor megfelelő celláját. Természetesen $ jelek - 1, 2, 3, 4 $ jelek ott. Nincs $ jel az A6-ban és 4 $ jel ott. Rendben, és ezt a számot számként, esetleg 1000 elválasztóként jelenítjük meg, kattintson az OK gombra, majd itt százalékban, egy ilyen tizedesjegygel. Rendben, és átmásoljuk ezt a képletet az összes cellába. A BAM, rendben. De most itt az a cél, hogy megbizonyosodjunk arról, hogy ezeket az összegeket csak akkor láthatjuk, amikor elérjük az oldaltörést. Rendben, ott van. Ez egy automatikus oldaltörés, majd később, amikor az A végéről B-re váltunk, egy kézi oldaltörés. Tehát ez a kézi oldaltörés itt különbözik az automatikus oldaltöréstől.és ezt a számot számként, esetleg 1000 elválasztóként mutatjuk meg, kattintsunk az OK gombra, majd itt százalékban, egy tizedes pontossággal. Rendben, és átmásoljuk ezt a képletet az összes cellába. A BAM, rendben. De most itt az a cél, hogy megbizonyosodjunk arról, hogy ezeket az összegeket csak akkor láthatjuk, amikor elérjük az oldaltörést. Rendben, ott van. Ez egy automatikus oldaltörés, majd később, amikor az A végéről B-re váltunk, egy kézi oldaltörés. Tehát ez a kézi oldaltörés itt különbözik az automatikus oldaltöréstől.és ezt a számot számként, esetleg 1000 elválasztóként mutatjuk meg, kattintsunk az OK gombra, majd itt százalékban, egy ilyen tizedesjegygel. Rendben, és átmásoljuk ezt a képletet az összes cellába. A BAM, rendben. De most itt az a cél, hogy megbizonyosodjunk arról, hogy ezeket az összegeket csak akkor láthatjuk, amikor elérjük az oldaltörést. Rendben, ott van. Ez egy automatikus oldaltörés, majd később, amikor az A végéről B-re váltunk, egy kézi oldaltörés. Tehát ez a kézi oldaltörés itt különbözik az automatikus oldaltöréstől.De most itt az a cél, hogy megbizonyosodjunk arról, hogy ezeket az összegeket csak akkor láthatjuk, amikor elérjük az oldaltörést. Rendben, ott van. Ez egy automatikus oldaltörés, majd később, amikor az A végéről B-re váltunk, egy kézi oldaltörés. Tehát ez a kézi oldaltörés itt különbözik az automatikus oldaltöréstől.De most itt az a cél, hogy megbizonyosodjunk arról, hogy ezeket az összegeket csak akkor láthatjuk, amikor elérjük az oldaltörést. Rendben, ott van. Ez egy automatikus oldaltörés, majd később, amikor az A végéről B-re váltunk, egy kézi oldaltörés. Tehát ez a kézi oldaltörés itt különbözik az automatikus oldaltöréstől.

Rendben, most észreveszi itt fent, hogy ezt a fájlt XLSX fájlként mentik, mert az Excel így akarja menteni a fájlokat. Az XLSX a törött fájltípus, amely nem engedélyezi a makrókat, igaz? A világ legrosszabb fájltípusa. Tehát ne hagyja ki ezt a lépést vagy ezt. Minden munkád innen és kívül elvész. Mentés másként, és nem Excel-munkafüzetként, hanem makróképes munkafüzetként, bináris munkafüzetként vagy XLS-ként fogunk menteni. Megyek a Makró-engedélyezett munkafüzettel. Ha nem ezt a lépést hajtja végre, akkor elveszíti a munka többi részét. Rendben, majd, ha még soha nem futtatott makrókat, kattintson a jobb gombbal, és azt mondja, hogy testreszabja a szalagot. Itt, a jobb oldalon jelölje be a Fejlesztő négyzetet, amely Fejlesztő lapot kap. Miután megvan a Fejlesztő fül, a Macro Security oldalra léphetünk,alapértelmezés szerint itt lesz fent. Tiltsa le az összes makrót, és ne mondja, hogy letiltotta az egész makrót. Le akar váltani a másodikra, így amikor megnyitjuk a fájlt, azt mondjuk: „Hé, itt vannak makrók. Te hoztad létre ezeket? Jól vagy ezzel? És mondhatja: Engedélyezze a makrókat. Rendben, kattintson az OK gombra.

Most áttérünk a vizuális alapszerkesztőre. Ha még soha nem használtál vizuális alapot, akkor ezzel a teljesen szürke képernyővel kezdesz, lépj a Nézet és a Project Explorer oldalra. Itt található az összes nyitott munkafüzet. Tehát megvan a Solver bővítmény, a személyes makró munkafüzetem, és itt van a munkafüzet, amin dolgozom. Győződjön meg arról, hogy ez a munkafüzet ki van jelölve, végezze el a Beszúrás, a Modul parancsot. A Insert, Module egy szép nagy üres, fehér vásznat kap itt. Rendben, akkor beírja ezt a kódot. Rendben, itt egy HPageBreak nevű objektumot használunk, egy vízszintes oldaltörést. És mivel ezt nem nagyon használom, itt itt változóként, objektum-HPB-ként kellett deklarálnom, így láthatnám a számomra elérhető választási lehetőségeket mindegyikben. Rendben,kitalálni, hogy hol van ma az utolsó sor az adatokkal, ezért az A oszlopot használom, az A oszlop végére megyek - A1048576. Ez itt L és nem 1, ez L. Ezt mindenki csavarja. L, mint az Excel-ben. Úgy hangzik, mint az Excel. Szerezd meg? Excel fel. Tehát lépjen az A1048576 oldalra, nyomja meg a Vége gombot és a Felfelé nyíl billentyűt az utolsó sorhoz való jutáshoz. Találja ki, hogy ez milyen sor. Ezután a G és H oszlopban, és ha ezt figyeli, akkor meg kell néznie az Excel adatait, és meg kell találnia, hogy hol van a két új oszlop, rendben. Nem tudom, hány oszlopod van. Lehet, hogy új oszlopainak vége az I-ben és J-ben, vagy talán C-ben és D-ben. Nem tudom, találja ki, hol vannak, és el fogjuk rejteni az összes sort, rendben. Tehát az én esetemben a G6-tól kezdődött, ez az első hely, ahol van egy számunk:H, majd összefűzöm a mai utolsó sort, három pontosvesszőből álló számformátummal, amely elrejti az adatokat.

Rendben, akkor ezt a következőt, ezt a következőt az üzenőfalról tanultam. Ha a kód futtatása előtt nem helyezi az aktív ablakot Oldaltörés előnézeti módba, akkor ez a kód nem fog működni. Néhány oldaltörésnél működik, de nem mindegyiknél, ezért ideiglenesen meg kell jelenítenie az oldaltöréseket. És akkor itt egy hurok: Mindegyikhez ez az objektumváltozóm - HPB az ActiveSheet.HPageBreaks fájlban. Kitalálja az utolsó sort, rendben? Tehát ehhez az objektumhoz, az oldaltöréshez találja ki a helyet, és találja ki a sort. És ez valójában a következő oldal első sora, így ebből egyet kell levonnom, rendben. És akkor itt elismerem, hogy ez hihetetlenül olcsó, menjen ki a 7. oszlopba, amely a G oszlop, és módosítsa a NumberFormat-t valutára, csak abból a sorból. Ezután menjen ki a 8. oszlopra, amely H, és változtassa meg százalékra, és menjen tovább.Végül lépjen ki a vízszintes vagy az oldaltörés előnézetéből, és térjen vissza a normál nézetbe.

Alright, so that's our code. I will File, Close and Return to Microsoft Excel. I want an easy way to run this, so I'm going to Insert, choose a nice shape here. I will choose a rounded rectangle, draw my right- around a rectangle in, Page layout, go to Effects, choose the effects for Office 2007. And then here on the Format tab we have a nice way to add some glow to that, alright.

So we've created a button, I'm just going to say Reset Page Breaks Totals, we’re going to center that, so on the Home tab, Center Vertically, Center Horizontally, increase the height and then right-click, Assign Macro and say that we're adding it to FindAllPageBreaksTwo, click OK. Alright, and then you see we have all of our totals here and I reset page break totals, and now it's - The totals are still there, the formula is still there but it's hidden them except for on the rows that is the last page break.

Alright now, I just want you to notice here that we're in A46 and A93. Page breaks are funny things. If you change the margins around a little bit, if you change the header and footer, then the page break is going to move to a new spot. So, we'll go to Wide margins, and the page break moved in those numbers in the wrong spot. Also print titles on what- rows 124 to appear at the top of each page which means that we're going to have less rows, and so then again, now my totals are in completely the wrong place that's why I need that button back here to reset page break totals and you will see that now, this cell in Row 45 and this cell in Row 86, that's in a new place.

Alright, so today's question from Wiley. We want to print category running total and % of Category at the bottom of each printed page. There's nothing in the Excel user interface, they can let a formula know that you're at the bottom of the printed page. Yeah, you can see the page breaks but the formulas can’t see them. So, one possible solution, and I'm welcoming others in the YouTube comments, use a macro. So add the running total and % of category for each row, hide all those rows. Here's the two formulas that we used: Saved As to save the workbook as XLSM or your macros will not be allowed to run next time. They'll actually- You'll lose your macros. If you've never used macros: change the macro security, show the Developer tab, switch to VBA, insert a module, type the code and then assign that macro to a shape. As the page size changes, reset the macro. And you will have a cheap solution to what Wiley is trying to do.

Ó, hé, szeretném megköszönni, hogy betértél. Legközelebb találkozunk egy újabb netcast-lal.

Fájl letöltése

Töltse le a minta fájlt innen: Podcast2058.xlsm

érdekes cikkek...