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.