Hivatkozott Excel verzio: Excel 2010 Excel 2013 Excel 2016 Office365
Mostanában sokat dolgoztam Excel tananyagfejlesztésen. Az elméleti, illetve a gyakorlati részeket Excel munkafüzetek munkalapjaira tettem. Arra gondoltam, hogy jól nézne ki az elején egy tartalomjegyzék, ahol linkekre kattintva lehet ugrani a kattintott munkalapra. Ehhez a munkalapok neveiből egy hiperlink listát kell készíteni, ami manuálisan, egyenként elég fájdalmas lenne. Úgyhogy összekalapáltam egy kis makrót, amit betettem az egyéni makró munkafüzetembe, és adtam hozzá egy gombot az eszköztáron. A makró futása után valami hasonló eredményt kaptam:

Íme a tartalomjegyzék makró
Sub Tartalomjegyzek()
Dim sh As Worksheet
For Each sh In Worksheets
If ActiveSheet.Name <> sh.Name Then
ActiveCell.Hyperlinks.Add anchor:=ActiveCell, Address:="", _
SubAddress:="'" & sh.Name & "'" & "!A1", TextToDisplay:=sh.Name
With ActiveCell.Font
.Name = "Arial"
.Size = 16
End With
ActiveCell.Offset(1, 0).Select
End If
Next sh
End Sub
Így működik
A feladatot egy ciklusba szervezve látjuk. Egy változóval végiglépked az aktuális munkafüzet minden munkalapján, és az aktuális lap kivételével a többi lapról készít egy tartalomjegyzék linket. Ezután megformázza, és a következő cellára lép lefelé.
A linket a Hyperlinks.Add parancs készíti, amit a munkalap nevéből (amit biztonság kedvéért felső aposztrófok közé tesz), egy felkiáltójelből és az A1-es cellából rak össze. A linken kattintva a cellakurzor az adott munkalap A1-es cellájára ugrik.
Nézzük, hogy hogyan üzemeljük be!

Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.