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

Jak vytvořit název záložky listu rovný hodnotě buňky v aplikaci Excel?

V některých případech možná budete muset přejmenovat list na základě zadané hodnoty buňky. V tomto článku vám ukážeme způsoby, jak vytvořit název záložky listu s hodnotou buňky v aplikaci Excel.

Vytvořte název záložky listu s hodnotou buňky pomocí kódu VBA
Vytvořte název záložky listu s hodnotou buňky pomocí Kutools pro Excel


Vytvořte název záložky listu s hodnotou buňky pomocí kódu VBA

S následujícím kódem VBA můžete automaticky nastavit název záložky listu na hodnotu buňky.

1. Klikněte pravým tlačítkem na záložku listu, kterou chcete, aby se název listu rovnal hodnotě buňky, a poté klikněte Zobrazit kód z nabídky pravého tlačítka myši. Viz screenshot:

2. Zkopírujte a vložte níže uvedený kód do okna Kód a potom stiskněte Další + Q současně zavřete okno Microsoft Visual Basic pro aplikace.

Kód VBA: Vytvořte kartu listu rovnou hodnotě buňky

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("A1")) Is Nothing Then
		ActiveSheet.Name = ActiveSheet.Range("A1")
	End If
End Sub

Poznámka: V kódu je A1 buňka, která obsahuje hodnotu, kterou musíte použít jako název listu. Můžete to změnit podle potřeby.

Od nynějška, když se změní hodnota v buňce A1, změní se stejně i název záložky listu.


Vytvořte název záložky listu s hodnotou buňky pomocí Kutools pro Excel

V této části vám představujeme Přejmenujte více pracovních listů užitečnost Kutools pro Excel. Pomocí tohoto nástroje můžete snadno přejmenovat listy s určitou hodnotou buňky v aplikaci Excel.

Před aplikací Kutools pro Excel, Prosím nejprve si jej stáhněte a nainstalujte.

1. cvaknutí Kutools Plus > Pracovní list > Přejmenujte více pracovních listů. Viz snímek obrazovky:

2. V Přejmenujte více pracovních listů dialogové okno, musíte postupovat následovně.

1). V seznamu zaškrtněte názvy listů, které chcete přejmenovat Pracovní listy pole (můžete vybrat jeden list nebo více listů).
2). Vybrat Nahraďte původní název listu pole v Přejmenovat možnosti sekce.
3). Pokud chcete přejmenovat list nebo více listů se zadanou hodnotou buňky, vyberte Ze specifického rozsahu možnost a vyberte rozsah buněk, podle kterých chcete přejmenovat listy.
4). Klikněte na ikonu OK knoflík. Viz screenshot:

Můžete vidět, že vybrané listy jsou přejmenovány podle zadané hodnoty rozsahu okamžitě, jak je uvedeno níže.

Poznámky:

1. Můžete použít Filtr funkce pro snadné odfiltrování potřebného listu, pokud existuje spousta listů.
2. Chcete-li přejmenovat více listů s určitou hodnotou buňky v každém listu. Například list1 se bude rovnat hodnotě jeho buňky A1 a list2 se také bude rovnat hodnotě jeho buňky A1. Vyberte pracovní listy v Pracovní listy a poté vyberte Přejmenujte listy s konkrétní buňkou možnost a do pole zadejte buňku A1.

3. Název listu se při změně hodnoty buňky automaticky nezmění.

  Pokud chcete mít bezplatnou (30denní) zkušební verzi tohoto nástroje, kliknutím jej stáhněte, a poté přejděte k použití operace podle výše uvedených kroků.


Vytvořte název záložky listu s hodnotou buňky pomocí Kutools pro Excel


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 (26)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Vložil jsem to podle pokynů, ale nezobrazilo se to v mém seznamu dostupných maker. Zkusil jsem to spustit ručně zadáním názvu makra. Při pokusu o spuštění makra se objevila chybová zpráva "Argument no optional".

Soukromá dílčí tabulka_Změna (ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
End Sub

Spustil tento kód někdo jiný a měl stejný problém?

Jako test jsem spustil základní kód a fungovalo to dobře, takže hodnota v "A1" nezpůsobuje problém. Když spustím níže uvedený kód, vidím v seznamu maker název makra „myTabName“. Výše uvedený kód se nezobrazuje a předpokládám, že je to kvůli chybě/chybějícímu argumentu.

Sub myTabName()
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

Děkuji za vaši pomoc, protože bych velmi rád použil kód určený k automatizaci změn názvů karet na základě hodnoty buňky.
Tento komentář byl moderátorem webu minimalizován
milý Jasone,
Kód v mém případě funguje dobře. Poskytli byste prosím vaši verzi Office? Děkuji za váš komentář.
Tento komentář byl moderátorem webu minimalizován
Dostávám tento kód do práce, ale automaticky neaktualizuje název karty, když buňka, ze které název vytáhne, pokud odkazuje na jinou buňku (a tato buňka se změní).


Tj. změním buňku v hlavním seznamu, což změní text buňky v konkrétní buňce na každé kartě, na kterou kód odkazuje jako na název karty, ALE karta odpovídajícím způsobem neaktualizuje svůj název.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Následující kód VBA může vyřešit váš problém. Děkuji za váš komentář 1

Soukromá dílčí tabulka_Změna (ByVal Target As Range)
Dim xRg As Range, xCell As Range
On Error Resume Next
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
Application.EnableEvents = False
Nastavit xRg = ActiveSheet.Range("A1").Precedenty
If Not xRg Is Nothing Then
Pro každý xCell In xRg
ActiveSheet.Name = ActiveSheet.Range("A1")
další
End If
Application.EnableEvents = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Stále to nefunguje. Mám stejný problém jako jJJ. krystal: Je ve vaší odpovědi uveden celý kód?
Poslední řádek zobrazený ve vašem komentáři je "Set xRg = ActiveSheet.Range("A1").Precedenty"
Tento komentář byl moderátorem webu minimalizován
Vážený JAS,
Kliknutím na tlačítko Číst více na pravé straně komentáře zobrazíte celý komentář.
Tento komentář byl moderátorem webu minimalizován
Stále stejný problém.

A1 nového listu ukazuje na jinou buňku na jiné kartě. Aktualizuje se poprvé (při spuštění), ale poté se při úpravě hlavní buňky nezmění
Tento komentář byl moderátorem webu minimalizován
Private Sub Worksheet_SelectionChange (ByVal Target As Excel. Range)
Nastavit cíl = rozsah("A1")
If Target = "" Pak Exit Sub
Při chybě GoTo Badname
ActiveSheet.Name = Left(Target, 31)
Konec Sub
špatné jméno:
MsgBox "Opravte prosím záznam v A1." & Chr(13) _
& "Zdá se, že obsahuje jeden nebo více" & Chr(13) _
& "nelegální znaky." & Chr(13)
Rozsah("A1").Aktivovat
End Sub
Tento komentář byl moderátorem webu minimalizován
Problém je stále stejný, poprvé se mění. když propojím tuto buňku s jiným listem a změním ji, nezmění se automaticky
Tento komentář byl moderátorem webu minimalizován
Potřebuji použít tento kód, ale nikdy předtím jsem nezadal kód vba. Jakékoli pokyny by byly oceněny.
Tento komentář byl moderátorem webu minimalizován
Změním buňku v hlavním seznamu, což změní text buňky v konkrétní buňce na každé kartě, na kterou kód odkazuje jako na název karty, ALE karta odpovídajícím způsobem neaktualizuje svůj název.

---- to není práce
Tento komentář byl moderátorem webu minimalizován
Dostal jsem celý kód a fungovalo to. Moc vám děkuji za vaši pomoc!
Tento komentář byl moderátorem webu minimalizován
Vážený JAS,
Jsem rád, že jsem mohl pomoci.
Tento komentář byl moderátorem webu minimalizován
Můžete spíše použít jednoduché makro



Sub Macro3 ()
Dim index As Integer
Pro index = 1 až 18

Listy(index).Název = Listy(index).Rozsah("A2").Hodnota

Další index



End Sub
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Děkujeme vám za sdílení.
Tento komentář byl moderátorem webu minimalizován
To je přesně to, co potřebuji, ale potřebuji kartu k opětovnému vytvoření data a nefunguje to... Předpokládám, že to má něco společného s tím, jak Excel pracuje s datem a časem, může někdo navrhnout řešení?
Tento komentář byl moderátorem webu minimalizován
Ahoj Nicku,
Excel nepodporuje psaní názvu listu obsahujícího speciální znaky. Pokud zadané datum obsahuje znak /, neumožní vám vytvořit název listu s tímto datem.
Tento komentář byl moderátorem webu minimalizován
Jak mohu odkazovat na dvě buňky. například jméno a IČ?
Tento komentář byl moderátorem webu minimalizován
Používám váš přesný kód z výše uvedeného pro kód VBA, který perfektně funguje pro to, co potřebuji. Mám však spoustu maker na listu zvaném Job Template, který se zkopíruje a znovu použije pro každou novou úlohu. Všechna má makra jsem navrhl na základě nové zkopírované verze s názvem Job Template (2). Jakmile se název listu změní na nový název úlohy, makra již nefungují a musí to dělat ručně. Chtěl bych mít možnost kdykoli použít kterékoli ze svých tlačítek maker namísto toho, abych je používal pouze před změnou názvu listu.

Existuje způsob, jak by kód VBA vždy odkazoval na název listu před spuštěním zbývajících funkcí kódu?
Tento komentář byl moderátorem webu minimalizován
Jaký je nejvyšší počet pracovních listů, kterým lze změnit názvy pomocí Kutools Plus? protože mi Excel nechá změnit pouze 17 jmen, a to je vše
Tento komentář byl moderátorem webu minimalizován
To fungovalo perfektně pro můj první list, ale ne pro druhý nebo třetí atd. (Mám až asi 20 listů, které všechny potřebují tuto funkci). Uniká mi něco?
Tento komentář byl moderátorem webu minimalizován
Ahoj A Owene,
Tento kód funguje vždy pouze pro jeden list. Omluvám se za nepříjemnost.
Tento komentář byl moderátorem webu minimalizován
Ahoj Crystal,

Když vložím váš kód, vrátí se s chybou „uživatelsky definovaný typ není definován“?

Díky.
Tento komentář byl moderátorem webu minimalizován
Ahoj Tome J,
Ujistěte se, že jsou tyto tři možnosti zaškrtnuté v dialogovém okně References - VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Tento komentář byl moderátorem webu minimalizován
fungovalo krásně!
Tento komentář byl moderátorem webu minimalizován
Bonjour,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche pas
merci
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í