Sub GenListOfSheets()
Dim wsContent As Worksheet
Dim ws As Worksheet
Dim iOffset As Integer
Dim rg As Range
Set wsContent = ThisWorkbook.Worksheets("Content")
wsContent.UsedRange.Delete ' erase all data on worksheet
Set rg = wsContent.Range("A1")
' loop through all sheets
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> wsContent.Name Then
rg.Offset(iOffset) = ws.Name
wsContent.Hyperlinks.Add Anchor:=rg.Offset(iOffset), Address:="", _
SubAddress:="'" & ws.Name & "'!A1", TextToDisplay:=ws.Name
iOffset = iOffset + 1
End If
Next
End Sub
I attached a sample file. Only thing is that a worksheet with name "Content" must be available (or change name)
Bookmarks