Zdroj: https://wall.cz/excel-navod/seznam-listu-v-excelovskem-souboru • Vydáno: 5.5.2009 19:20 • Autor: admin

Seznam listů v excelovském souboru

ExcelPokud pracujete s excelovským souborem, který má mnoho listů, pak je navigace mezi listy velmi nešikovná a těžkopádná. Je několik cest, jak takovou situaci řešit.

Hned na prvním místě musím uvést, že je dobré udržovat v excelovském sešitu co nejméně listů a tím takovému stavu předejít. Někdy to však v praxi nejde a proto mám pro vás několik tipů, jak si navigaci v takovém sešitu vylepšit.

Pro rychlou navigaci mezi listy můžete použít klávesové zkratky Ctrl-PgDown a Ctrl-PgUp.

Pokud vám klávesové zkratky nevyhovují, tak pravým tlačítkem klikněte na Tlačítka pro pohyb mezi listy. Zobrazí se pop-up okno se seznamem prvních 15 listů. Zde se můžete kliknutím přepnout na požadovaný list.

Seznam listů v excelovském souboru

Pokud máte v sešitu více jak 15 listů, stačí kliknout na poslední položku v seznamu Další listy .... Zobrazí se okno s kompletním seznamem listů. Zde pak také stačí vybrat list a tlačítkem OK potvrdit aktivaci listu.

Seznam listů v excelovském souboru

Další možnost je vložit do prvního nebo do všech listů VBA kód, který při aktivaci listu do buněk ve sloupci A vypíše navigaci. Pomocí této navigace se můžete přepínat mezi všemi listy. Pokud vložíte VBA kód jen do prvního listu, navigace je vypsána jen do tohoto listu a do ostatních listů je do buňky A1 vložen odkaz na navigaci v prvním listě.

Seznam listů v excelovském souboru

Private Sub Worksheet_Activate() 'Navigace listů Dim wSheet As Worksheet Dim i As Long i = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = "SEZNAM" .Cells(1, 1).Name = "Seznam" End With For Each wSheet In Worksheets If wSheet.Name <> Me.Name Then i = i + 1 With wSheet .Range("A1").Name = "List_" & wSheet.Index .Hyperlinks.Add Anchor:=.Range("A1"), Address:="", _ SubAddress:="Index", TextToDisplay:="Návrat na Seznam" End With Me.Hyperlinks.Add Anchor:=Me.Cells(i, 1), Address:="", _ SubAddress:="List_" & wSheet.Index, TextToDisplay:="'" & wSheet.Name End If Next wSheet End Sub

Soubor s příkladem si můžete stáhnout zde.