Prečo nepoužiješ hyperlinky?
Do kódového okna listu so zoznamom listov vlož:
Sub VytvorHyperlinky()
'nazvy listov v stlpci A, zacinaju od riadku 1, bez volnych buniek medzi nazvami
Dim i As Byte, sh As Worksheet
For i = 1 To WorksheetFunction.CountA([A:A])
On Error Resume Next
Set sh = Sheets(Cells(i, 1).Value) 'kontroluje existenciu listu s danym nazvom
On Error GoTo 0
If Not sh Is Nothing Then _
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", _
SubAddress:="'" & Cells(i, 1) & "'!A1", TextToDisplay:=Cells(i, 1).Value
With Cells(i, 1).Font 'pokial nechceme, aby hyperlink vyzeral ako hyperlink
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Set sh = Nothing
Next i
End Sub
Kód spusti, následne môžeš zmazať. Proti tomu, čo navrhuje Jirka, a čo si chcel pôvodne, to má tú výhodu, že vo finále nepotrebuješ žiadne udalostné makro, ktoré môže teoreticky spomaľovať rýchlosť aplikácie.
citovat