VBA Získejte název listu / Přejmenujte list

Tento tutoriál se bude zabývat interakcí s názvy listů ve VBA.

Získejte název listu

Názvy listů jsou uloženy v souboru název majetek Povlečení na postel nebo Pracovní listy objekt. Název listu je název „záložky“, který je viditelný v dolní části aplikace Excel:

Získejte název ActiveSheet

Zobrazí se název ActiveSheet v okně zprávy:

1 MsgBox ActiveSheet.Name

Získejte název listu podle indexového čísla

Zobrazí se název prvního listu v okně zprávy:

1 Listy MsgBox (1). Název

Zobrazí se název posledního listu v sešitu:

1 MsgBox Sheets (Sheets.Count) .Name

Získejte název listu podle kódového jména

V editoru VBA je možnost změnit „kódové jméno“ listu. Kódové jméno není pro uživatele Excelu viditelné a lze jej zobrazit pouze v editoru VBA:

Ve VBA můžete při práci s Tabulkami odkazovat na obvyklý název karty:

1 Tabulky („TabName“). Aktivujte

nebo kódové jméno VBA:

1 CodeName.Activate

Odkazování na kódový název je žádoucí v případě, že se název karty List někdy změní. Pokud povolíte uživateli aplikace Excel přístup ke změně názvů listů, měli byste odkazovat na kódové jméno v kódu VBA, aby nesoulad názvů karet na listu nezpůsobil chybu. Kódové názvy listů jsou zde podrobněji rozebrány.

Chcete -li získat název listu pomocí kódového názvu VBA, postupujte takto:

1 MsgBox CodeName.Name

Přejmenovat list

Tabulky můžete přejmenovat úpravou název majetek Povlečení na postel nebo Pracovní listy objekt.

Přejmenujte ActiveSheet

1 ActiveSheet.Name = "Nové jméno"

Přejmenujte list podle názvu

1 Listy ("OldSheet"). Name = "NewName"

Přejmenujte list podle indexového čísla listu

Zde pomocí 1 přejmenujeme první list v sešitu.

1 Listy (1) .Name = "NewName"

Přejmenujte list podle kódového jména

Tento kód přejmenuje list pomocí jeho kódového názvu VBA (diskutováno výše):

1 Component.Name = "NewName"

Zkontrolujte, zda existuje název listu

Vytvořili jsme funkci pro testování, zda list s konkrétním názvem již existuje.

123456789101112 „Vyzkoušejte, zda rozsah existuje na listu.'Nechte rozsah prázdný, abyste otestovali, zda list existuje'Vstupy:'WhatSheet - Řetězcový název listu (ex "Sheet1")'WhatRange (Volitelné, Výchozí = "A1") - Název řetězce rozsahu (ex "A1")Rozsah funkcíExistuje (WhatSheet jako řetězec, volitelně ByVal WhatRange jako řetězec = "A1") jako logická hodnotaDim test As RangePři chybě Pokračovat DalšíNastavit test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Při chybě GoTo 0Koncová funkce

Funkce vrátí TRUE, pokud list existuje, nebo FALSE, pokud neexistuje.

Použijte funkci takto:

123 Sub Test_SheetExists ()MsgBox RangeExists ("nastavení")End Sub

Kopírovat list a přejmenovat

Tento příklad je z našeho článku o kopírování listů.

Po zkopírování a vložení listu se z nově vytvořeného listu stane ActiveSheet. Chcete -li zkopírovaný list přejmenovat, jednoduše použijte ActiveSheet.Name:

12345678 Dílčí CopySheetRename2 ()Listy ("List1"). Kopírovat po: = Listy (Sheets.Count)Při chybě Pokračovat DalšíActiveSheet.Name = "Poslední list"Při chybě GoTo 0End Sub

Poznámka: Přidali jsme zpracování chyb, abychom se vyhnuli chybám, pokud název listu již existuje.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave