Hur man automatiskt sorterar Excel-ark och flikar

Hur man automatiskt sorterar Excel-ark och flikar

Excel är inte bara ett verktyg för att hålla företagsdata och redovisning. Dess kraft ligger i det faktum att den används för att klassificera och hantera nästan vad som helst på ett enkelt och snabbt sätt. Vi kan skapa dagordningar, arbetskvadranter, adressböcker, fakturamallar, närvaroposter ... Excel tillåter dock inte att vi ordnar arbetsbokens ark, något som är mycket användbart när vi arbetar med långa böcker. Men vi kan sortera Excel-flikarna automatiskt med ett makro i Visual Basic-kod . Vi förklarar hur man gör det steg för steg.

Orden "makro i Visual Basic-kod" kan vara skrämmande, men allt är lättare än det låter. Ett makro är ett litet program som utför en rad åtgärder för oss i Excel och tjänar till att automatisera repetitiva uppgifter . Makron är skrivna i Visual Basic for Applications (eller VBA) -kod, ett programmeringsspråk som låter dig komma åt och utöka funktionerna i Excel.

Visual Basic-redigeraren

För att skapa vårt makro måste vi öppna vilken arbetsbok som helst i Excel, och ju fler flikar den har, desto bättre.

Sortera Excel-flikar

För att öppna VBA-redigeraren använder vi snabbtangenten Alt + F11 . När redigeringsfönstret visas söker vi efter en viss Excel-arbetsbok, kallad Personal.xls . Denna bok har egenskapen att vad vi än gör i den kommer att påverka alla arbetsböcker . Det vill säga om vi skapar ett makro kan vi använda det när vi vill.

Makroredaktör

Oroa dig inte om du inte hittar den personliga boken. Avsluta redigeraren, öppna fliken Excel View , dra ner Macros- menyn och välj Record Macro . Spara makrot i din personliga makrobok och börja spela in. Ta sedan upp Makron- menyn igen och stoppa inspelningen. Du har redan din "speciella" bok.

Skapa makro i Excel

Nu har vi allt klart för att skapa en ny modul . Vi öppnar VBA-redigeraren med Alt + F11 , väljer boken Personal.xls och klickar sedan på Infoga> Modul . Vi placerar markören i modulfönstret och skriver följande kod:

Sub SortSheets_Ascendant ()

För a = 1 till ark. Antal

För s = a + 1 till ark. Antal

Om UCase (Sheets (a) .Name)> UCase (Sheets (s) .Name) Then

Ark (ar). Flytta före: = Ark (a)

Avsluta om

Nästa s

Bredvid

Avsluta sub

Vi stänger fönstret och makrot kommer att lagras automatiskt. Det återstår bara att kontrollera att det fungerar. Vi öppnar boken vars flikar vi vill beställa, vi går till Visa och klickar på makron , eller så trycker vi snabbtangenten Alt + F8 . Vi dubbelklickar på SortSheets_Ascendant och bokflikarna placeras i alfabetisk ordning på ett ögonblick .

Sortera Excel-flikar alfabetiskt

När vi stänger Excel frågar programmet om vi vill spara ändringarna i makron. Vi accepterar, och vårt makro lagras för användning med den bok vi vill ha.

Sortera arken i fallande ordning

Med några små kodändringar kan vi uppnå omvänd effekt: sortera flikarna i fallande alfabetisk ordning . Vi upprepar processen för att skapa makrot och den här gången infogar vi följande kod:

Sub SortSheets_Descending ()

För a = 1 till ark. Antal

För s = a + 1 till ark. Antal

Om UCase (Sheets (a) .Name) <UCase (Sheets (s) .Name) Then

Ark (ar). Flytta före: = Ark (a)

Avsluta om

Nästa s

Bredvid

Avsluta sub

Det finns bara två varianter. Det första är naturligtvis namnet på makrot. Den andra är ändringen från> till <i den fjärde kodraden. Detta innebär att beställningen av arken i boken kommer att ändra riktning . Nu när du klickar på Visa> Makron (eller Alt + F8- genvägen ) ser du de två nyskapade makron. Dubbelklicka på SortSheets_Descending och kontrollera med tillfredsställelse dess effekt.

Sortera Excel-ark fallande

När vi sparar ändringarna när du avslutar Excel har vi dessa två makron tillgängliga när som helst . De kommer att spara mycket tid och ansträngning när vi hanterar flikar i Excel-arbetsböcker som är särskilt skrymmande.