Table Redesigner

sadržaj

Nije tajna da većina korisnika Excel-a pri kreiranju tablica na listovima prije svega misli na vlastitu udobnost i udobnost. Tako se rađaju prekrasne, šarene i glomazne tabele sa složenim „zaglavljima“ koje se, pritom, uopće ne mogu filtrirati niti sortirati, a o automatskom izvještaju 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 redu, gdje će svaka kolona imati svoje jedinstveno ime (ime polja)
  • jedan red – jedna završena operacija (posao, prodaja, knjiženje, projekat itd.)
  • nema spojenih ćelija
  • bez prekida u obliku praznih redova i kolona

Ali ako napravite zaglavlje u jednom redu od zaglavlja na više nivoa ili podijelite jedan stupac na nekoliko, to je prilično jednostavno, tada rekonstrukcija tablice može potrajati mnogo vremena (posebno kod velikih veličina). To znači sledeću situaciju:

Of     Table Redesigner   do     Table Redesigner  

Što se tiče baza podataka, desna tabela se obično naziva flat (flat) – prema takvim tabelama je najbolje graditi izveštaje pivot tabela (pivot table) i vršiti analitiku.

Možete pretvoriti dvodimenzionalnu tabelu u ravnu tabelu pomoću jednostavnog makroa. Otvorite Visual Basic Editor preko kartice Programer – Visual Basic (Programer — Visual Basic Editor) ili prečica na tastaturi alt+F11. Umetnite novi modul (Umetak – Modul) i tamo kopirajte tekst ovog makroa:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Skolʹko strok s podpisâmi sverhu?") hc = InputBox("Skolʹko stolbcov s podpisâmi sleva?") Application.ScreenUpdating = Netačno i = 1 Postavi inpdata = Izbor Postavi ns = Radni listovi. Dodaj za r = (hr + 1) U inpdate.Redove.Broj za c = (hc + 1) Za inpdate.Kolone.Broj za j = 1 Do 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 Sljedeći c Sljedeći r Kraj pod  

Zatim možete zatvoriti VBA editor i vratiti se u Excel. Sada možemo odabrati originalnu tabelu (u potpunosti, sa zaglavljem i prvom kolonom s mjesecima) i pokrenuti naš makro kroz Programer – Makroi (Programer — Makroi) ili kombinaciju pritiskanja alt+F8.

Makro će umetnuti novi list u knjigu i kreirati novu, rekonstruisanu verziju odabrane tabele na njoj. S takvom tablicom možete raditi "u cijelosti", koristeći cijeli arsenal Excel alata za obradu i analizu velikih lista.

  • Šta su makroi, gde ubaciti makro kod u VBA, kako ih koristiti
  • Kreiranje izvještaja sa zaokretnim tabelama
  • Alat za redizajn XNUMXD tablica u ravne iz PLEX dodatka

 

Ostavite odgovor