Redizajner tablice

Sadržaj

Nije tajna da većina korisnika programa Excel prilikom izrade tablica na listovima prije svega razmišlja o vlastitoj udobnosti i udobnosti. Tako se rađaju lijepe, šarene i glomazne tablice sa složenim "zaglavljima", koje se, pritom, uopće ne mogu filtrirati ili sortirati, a o automatskom izvješću sa pivot tablicom bolje je uopće ne razmišljati.

Prije ili kasnije, korisnik takvog stola dolazi do zaključka da "možda nije tako lijep, ali može funkcionirati" i počinje pojednostavljivati ​​dizajn svog stola, usklađujući ga s klasičnim preporukama:

  • jednostavno zaglavlje u jednom retku, gdje će svaki stupac imati svoje jedinstveno ime (naziv polja)
  • jedna linija – jedna završena operacija (posao, prodaja, knjiženje, projekt itd.)
  • nema spojenih ćelija
  • bez prekida u obliku praznih redaka i stupaca

Ali ako napravite jednolinijski zaglavlje od višerazinskog ili podijelite jedan stupac u nekoliko, prilično je jednostavno, tada rekonstrukcija tablice može potrajati puno vremena (osobito u velikim veličinama). To znači sljedeću situaciju:

Of     Redizajner tablice   do     Redizajner tablice  

Što se tiče baza podataka, desna tablica se obično naziva ravnom (ravnom) - prema takvim tablicama najbolje je graditi izvješća zaokretnih tablica (zaokretnih tablica) i provoditi analitiku.

Možete pretvoriti dvodimenzionalnu tablicu u ravnu tablicu pomoću jednostavnog makronaredbe. Otvorite Visual Basic Editor putem kartice Programer – Visual Basic (Razvojni programer — Visual Basic Editor) ili tipkovni prečac drugo+F11. Umetnite novi modul (Umetak – Modul) i tamo kopirajte tekst ove makronaredbe:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Koliko strok s potpisima sverhu?") hc = InputBox("Koliko stolbcov s potpisima sleva?") Application.ScreenUpdating = False i = 1 Postavi inpdata = Odabir Postavi ns = Worksheets.Add For r = (hr + 1) To inpdata.Rows.Count For c = (hc + 1) To inpdata.Columns.Count For j = 1 To hc ns. Ćelije(i, j) = inpdata.Cells(r, j) Sljedeće j Za k = 1 Do hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Sljedeće k ns.Cells( i, j + k - 1) = inpdata.Cells(r, c) i = i + 1 Next c Next r End Sub  

Zatim možete zatvoriti VBA editor i vratiti se u Excel. Sada možemo odabrati originalnu tablicu (potpunu, sa zaglavljem i prvim stupcem s mjesecima) i pokrenuti našu makronaredbu kroz Programer – Macros (Razvojni programer — Makronaredbe) ili kombinacija prešanja drugo+F8.

Makro će u knjigu umetnuti novi list i na njemu stvoriti novu, rekonstruiranu verziju odabrane tablice. S takvom tablicom možete raditi "u potpunosti", koristeći cijeli arsenal Excel alata za obradu i analizu velikih popisa.

  • Što su makronaredbe, gdje umetnuti makro kod u VBA, kako ih koristiti
  • Izrada izvješća sa zaokretnim tablicama
  • Alat za redizajn XNUMXD tablica u ravne iz PLEX dodatka

 

Ostavi odgovor