[easy_youtube_gallery id=uMK0prafzw0,8Uee_mcxvrw,HcXNPI-IPPM,JvMXVHVr72A,AIXUgtNC4Kc,K8nrF5aXPlQ,cegdR0GiJl4,L-wpS49KN00,KbW9JqM7vho ar=16_9 cols=3 thumbnail=hqdefault controls=0 playsinline=1 privacy=1 title=top wall=1 class=mySuperClass]
Först publicerad: 2009-05-19

Sortera Excels flikar i bokstavsordning via ett makro

Designen av Excelbokens struktur är ett tämligen viktigt kapitel, framför allt om arbetsboken skall distribueras utanför din egen arbetsmiljö.

Om din arbetsbok innehåller många blad kan det vara pedagogiskt att sortera dessa på ett enhetligt vis.

Vad gäller följden eller ordningen på flikarna, dvs arbetsbladen, så är det troligen ganska vedertaget att eventuella sammanställningar och resuméer skall läggas på blad placerade till vänster, medan övriga beräkningsblad och uppställningar fylls på med flikar ut mot höger. Ett bra exempel på detta är arbetsböcker som innehåller ett stort antal snarlika kalkylblad som endast skiljer sig åt via avdelning, stad, anställd eller vad det nu kan vara.

Följande Excelmakro automatiserar processen med att sortera arbetsbladen i bokstavsordning. Som vanligt när man testar nya makron så skall man alltid först testa med en kopia av arbetsboken. Detta för att undvika missöden.

Sub SorteraArbetsBlad()
 
intAntalBlad = ActiveWorkbook.Worksheets.Count
 
For i = 1 To intAntalBlad
 For j = i To intAntalBlad
  If LCase(Worksheets(j).Name) < LCase(Worksheets(i).Name) Then
   Worksheets(j).Move Before:=Worksheets(i)
  End If
 Next j
Next i
 
End Sub

Observera att makrot i ovanstående form startar från och med blad nummer 1, dvs det blad som ligger längst till vänster i Excelboken. Om du i stället t ex har en sammanställning på den första fliken och vill börja sortera från och med ark nummer 2 så ändrar du till:

For i = 2 To intAntalBlad