Note: The other languages of the website are Google-translated. Back to English

Jak zamknout nebo zmrazit kartu listu v aplikaci Excel?

Předpokládejme, že máte sešit, který obsahuje více listů, jako první karta v sešitu je list s názvem Hlavní list. A teď se pokuste tuto kartu listu zamknout nebo zmrazit, aby byla vždy viditelná i při posouvání několika pracovních listů. Ve skutečnosti neexistuje žádný přímý způsob, jak kartu zastavit, ale k řešení tohoto problému můžete použít alternativní řešení.

Uzamkněte nebo zmrazte konkrétní kartu listu pomocí kódu VBA


šipka modrá pravá bublina Uzamkněte nebo zmrazte konkrétní kartu listu pomocí kódu VBA

V aplikaci Excel můžeme použít následující kód VBA, abychom vytvořili konkrétní list vždy před vaší aktuální kartou listu, na kterou jste klikli, takže tento list můžete vždy vidět, když procházíte jinými kartami listu. Postupujte prosím následovně:

1. Podržte ALT + F11 klíče a otevře se Okno Microsoft Visual Basic pro aplikace.

2. Pak zvolte Tato pracovní kniha zleva Průzkumník projektu v podokně poklepáním otevřete soubor Modula poté zkopírujte a vložte následující kód VBA do prázdného modulu:

Kód VBA: Ukotvení nebo uzamčení konkrétní karty listu

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Update by Extendoffice
Application.EnableEvents = False
Application.ScreenUpdating = False
If Application.ActiveSheet.Index <> Application.Sheets("Main-sheet").Index Then
    Application.Sheets("Main-sheet").Move Before:=Application.Sheets(Application.ActiveSheet.Index)
    Application.Sheets("Main-sheet").Activate
    Sh.Activate
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

doc-freeze-sheet-tab-1

3. A poté tento kód uložte a zavřete, nyní, když kliknete na kteroukoli kartu svého listu, bude tento konkrétní list vždy v přední části karty, na kterou jste klikli, viz screenshoty:

doc-freeze-sheet-tab-2
-1
doc-freeze-sheet-tab-3

Poznámka: Ve výše uvedeném kódu je Main-sheet název listu, který chcete zmrazit, můžete jej podle potřeby změnit.


Související články:

Jak zmrazit podokna v aplikaci Excel 2010?

Jak použít zmrazení / rozmrazení podokna na více listů najednou?


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (10)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Když používám VBA, nemohu kopírovat data z hlavního listu na jiný list. Pomozte mi prosím opravit tuto chybu
Tento komentář byl moderátorem webu minimalizován
ha ha ha. tak pravdivé! našel jsi na to opravu?
Tento komentář byl moderátorem webu minimalizován
Váš kód se nepodařilo zprovoznit, ale tento ano :) Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim sc As Long ' počet listů Dim NewPos As Long ' index vybraného listu Application.EnableEvents = False Application.ScreenUpdating = False If ActiveSheet.Index 1 Then sc = Sheets.Count NewPos = ActiveSheet.Index For i = 2 To NewPos - 1 Sheets(2).Move After:=Sheets(sc) Next i Sheets(1).Activate Sheets(2). Aktivujte End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Tento komentář byl moderátorem webu minimalizován
Je možné vytvořit jeden s více argumenty? Je možné přesunout tři karty před to, na čem pracujete, místo pouhého přesunutí jednoho hlavního listu dopředu?
Tento komentář byl moderátorem webu minimalizován
Ano, je to možné, stačí přidat další argumenty do klauzule if pomocí "AND", jako je tato IF Application.ActiveSheet.Index Application.Sheets("Hlavní list").Index AND Application.ActiveSheet.Index Application. Sheets("Other-Main-sheet").Index a tak dále... Potom Application.Sheets("Main-sheet").Přesunout před:=Application.Sheets(Application.Sheets("Other-Main-sheet") .Index) Application.Sheets("Hlavní-list").Aktivovat Application.Sheets("Ostatní-Hlavní-list").Přesunout před:=Application.Sheets(Application.ActiveSheet.Index) Application.Sheets("Ostatní-hlavní-list" -list"). Aktivovat Sh.Activate Tím se před váš aktivní list umístí hlavní list a poté další hlavní list.
Tento komentář byl moderátorem webu minimalizován
je tento vba můj excelový list nemrznoucí, dejte mi prosím řešení
Tento komentář byl moderátorem webu minimalizován
Tento kód fungoval dobře. Jediný problém je... když soubor zavřeme a znovu otevřeme, zhasne.
Tento komentář byl moderátorem webu minimalizován
[quote]Tento kód fungoval dobře. Jediný problém je... když soubor zavřeme a znovu otevřeme, zhasne.Od Sangse[/quote] Zkuste dokument uložit jako sešit s podporou maker. Myslím, že by to tak mělo dobře fungovat.
Tento komentář byl moderátorem webu minimalizován
Jak Thuyen zdůraznil před 2 lety, nemůžete kopírovat data mezi listy, pokud je tento kód aktivní. Navíc je kód zbytečně složitý. List, který aktivujete, je předán do procedury jako parametr "Sh". Díky tomu jsou častá volání „ActiveSheet“ zbytečná a mohla by způsobit problémy někomu, kdo se pokouší upravit kód, ale není příliš zkušený.

Zde jsou mé verze, které tyto problémy opravují a dokonce ukazují, jak přidat 2. „Hlavní“ list (podobný tomu, co zveřejnil Dzingai):
-------------------------------------------------- ---------------

'Tyto 2 řádky nejsou nutné, pokud používáte kódová jména listů, což doporučuji.
Nastavit shtMain1 = Worksheets("Main-Sheet-1")
Nastavit shtMain2 = Worksheets("Main-Sheet-2")

If Application.CutCopyMode = False Then
If Sh.Index <> shtMain1.Index And Sh.Index <> shtMain2.Index Then
shtMain1.Přesunout před:=Sh
shtMain2.Přesunout před:=Sh
Sh.Activate
End If
End If
Tento komentář byl moderátorem webu minimalizován
chăng đc gi cả
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL