Bordsdesigner

Innehåll

Det är ingen hemlighet att de flesta Excel-användare, när de skapar tabeller på ark, först och främst tänker på sin egen bekvämlighet och bekvämlighet. Så här föds vackra, färgglada och besvärliga tabeller med komplexa "rubriker", som samtidigt inte kan filtreras eller sorteras alls, och det är bättre att inte tänka på en automatisk rapport med en pivottabell alls.

Förr eller senare kommer användaren av ett sådant bord till slutsatsen att "det kanske inte är så vackert, men det kan fungera" och börjar förenkla designen av sitt bord, vilket gör det i linje med de klassiska rekommendationerna:

  • en enkel enradsrubrik, där varje kolumn kommer att ha sitt eget unika namn (fältnamn)
  • en rad – en avslutad operation (affär, försäljning, kontering, projekt, etc.)
  • inga sammanslagna celler
  • utan avbrott i form av tomma rader och kolumner

Men om du gör en enradsrubrik av en flernivå- eller delar upp en kolumn i flera, är det ganska enkelt, då kan tabellrekonstruktionen ta mycket tid (särskilt vid stora storlekar). Det betyder följande situation:

Of     Bordsdesigner   do     Bordsdesigner  

När det gäller databaser brukar rätt tabell kallas platt (platt) – det är enligt sådana tabeller som det är bäst att bygga rapporter av pivottabeller (pivottabeller) och göra analyser.

Du kan konvertera en tvådimensionell tabell till en platt tabell med ett enkelt makro. Öppna Visual Basic Editor via fliken Utvecklare – Visual Basic (Utvecklare – Visual Basic Editor) eller kortkommandon andra+F11. Sätt in en ny modul (Infoga – Modul) och kopiera texten till detta makro 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 Set inpdata = Selection Set 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. Cells(i, j) = inpdata.Cells(r, j) Next j För k = 1 Till 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 Nästa c Nästa r End Sub  

Du kan sedan stänga VBA-redigeraren och återgå till Excel. Nu kan vi välja den ursprungliga tabellen (helt, med en rubrik och den första kolumnen med månader) och köra vårt makro genom Utvecklare – Makron (Utvecklare – Makron) eller tryckkombination andra+F8.

Makrot infogar ett nytt ark i boken och skapar en ny, rekonstruerad version av den valda tabellen på den. Du kan arbeta med en sådan tabell "i sin helhet", med hjälp av hela arsenalen av Excel-verktyg för att bearbeta och analysera stora listor.

  • Vad är makron, var man infogar makrokod i VBA, hur man använder dem
  • Skapa rapporter med pivottabeller
  • Verktyg för att göra om XNUMXD tabeller till platta från PLEX-tillägget

 

Kommentera uppropet