Bordredesigner

Innhold

Det er ingen hemmelighet at de fleste Excel-brukere, når de lager tabeller på ark, først og fremst tenker på sin egen komfort og bekvemmelighet. Dette er hvordan vakre, fargerike og tungvinte tabeller med komplekse "overskrifter" blir født, som på samme tid ikke kan filtreres eller sorteres i det hele tatt, og det er bedre å ikke tenke på en automatisk rapport med en pivottabell i det hele tatt.

Før eller senere kommer brukeren av et slikt bord til den konklusjon at "det er kanskje ikke så vakkert, men det kan fungere" og begynner å forenkle utformingen av bordet sitt, og bringe det i tråd med de klassiske anbefalingene:

  • en enkel én-linjes overskrift, der hver kolonne vil ha sitt eget unike navn (feltnavn)
  • én linje – én fullført operasjon (avtale, salg, postering, prosjekt, etc.)
  • ingen sammenslåtte celler
  • uten brudd i form av tomme rader og kolonner

Men hvis du lager en en-linjes overskrift av en flernivåoverskrift eller deler en kolonne i flere, er det ganske enkelt, da kan tabellrekonstruksjonen ta mye tid (spesielt ved store størrelser). Det betyr følgende situasjon:

Of     Bordredesigner   do     Bordredesigner  

Når det gjelder databaser, kalles den riktige tabellen vanligvis flat (flat) – det er i henhold til slike tabeller det er best å bygge rapporter av pivottabeller (pivottabeller) og utføre analyser.

Du kan konvertere en todimensjonal tabell til en flat tabell ved å bruke en enkel makro. Åpne Visual Basic Editor via fanen Utvikler – Visual Basic (Utvikler – Visual Basic Editor) eller hurtigtast andre+F11. Sett inn en ny modul (Sett inn – modul) og kopier teksten til denne makroen dit:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько столбцов столбцов сполбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с полбцов с подписями сверху?" False i = 1 Sett inpdata = Utvalgssett ns = Regneark.Legg til For r = (hr + 1) Til inpdata.Rows.Count For c = (hc + 1) To inpdata.Columns.Count For j = 1 Til hc ns. Cells(i, j) = inpdata.Cells(r, j) Next j For k = 1 To hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Next k ns.Cells( i, j + k - 1) = inpdata.Cells(r, c) i = i + 1 Neste c Neste r End Sub  

Du kan deretter lukke VBA-editoren og gå tilbake til Excel. Nå kan vi velge den opprinnelige tabellen (helt, med en overskrift og den første kolonnen med måneder) og kjøre makroen vår gjennom Utvikler – Makroer (Utvikler – Makroer) eller trykkkombinasjon andre+F8.

Makroen vil sette inn et nytt ark i boken og lage en ny, rekonstruert versjon av den valgte tabellen på den. Du kan jobbe med en slik tabell "i sin helhet", ved å bruke hele arsenalet av Excel-verktøy for å behandle og analysere store lister.

  • Hva er makroer, hvor du skal sette inn makrokode i VBA, hvordan du bruker dem
  • Opprette rapporter med pivottabeller
  • Verktøy for å redesigne XNUMXD tabeller til flate fra PLEX-tillegget

 

Legg igjen en kommentar