[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-06-04

Skapa länklista till alla Excelblad

skapa-lankar-till-arbetsblad-i-excel

Om en Excelbok innehåller ett större antal blad (kanske hundratals) kan det ibland vara praktiskt att skapa ett index, dvs. en lista med länkar till samtliga arbetsblad.

Listan, som man t.ex. skapar på det vänstersta kalkylbladet, kommer se ut som på bilden till vänster.

Koden, som loopar igenom alla arbetsblad,  innehåller även en programrad där du kan utesluta ett visst kalkylblad från att tas med i listan.

VBA-kod som skapar länkar till bokens kalkylblad

Utgångspunkten är en vanlig Excelbok med minst två arbetsblad. I denna arbetsbok skapar vi en modul i VBA-editorn, där nedanstående kod läggs in.

Sub Skapa_Lankar_Till_Alla_Kalkylblad()
 
Dim wrbBok As Workbook
Dim wrsAktivtBlad As Worksheet, wsBlad As Worksheet
Dim intRad, intKolumn As Integer
 
Set wrbBok = ActiveWorkbook
Set wrsAktivtBlad = ActiveSheet
 
'rad och kolumn där vi vill börja skriva ut länklistan
intRad = 4
intKolumn = 1
 
'slinga som går igenom alla kalkylblad
For Each wsBlad In wrbBok.Worksheets
 
'blad som vi vill utesluta från länklistan
If wsBlad.Name = "SheetAnteckningar" Then GoTo NastaBlad
 
'skapa länkarna
If wsBlad.Name <> wrsAktivtBlad.Name Then
 
wrsAktivtBlad.Hyperlinks.Add wrsAktivtBlad.Cells(intRad, _
intKolumn), "", SubAddress:="'" & wsBlad.Name & "'!A1", _
TextToDisplay:=wsBlad.Name
 
intRad = intRad + 1
End If
 
NastaBlad:
Next wsBlad
 
End Sub