Tento článok sa bude zaoberať objektom ActiveSheet vo VBA. Tiež bude diskutovať o tom, ako aktivovať, vybrať a prejsť na pracovné listy (a oveľa viac). Prečítajte si nášho úplného sprievodcu pracovnými listami VBA, kde nájdete ďalšie informácie o práci s pracovnými listami vo VBA.
ActiveSheet
Vo VBA ActiveSheet odkazuje na aktuálne aktívny pracovný hárok. Súčasne môže byť aktívny iba jeden hárok.
Aktivovať pracovný hárok (nastavenie ActiveSheetu)
Na nastavenie ActiveSheetu použite Worksheet. Aktivovať:
1 | Pracovné listy („Vstup“). Aktivujte |
Príkaz Aktivovať hárok skutočne „prejde“ na hárok a zmení viditeľný hárok.
Vyššie uvedený príklad používa názov hárka (tab). Namiesto toho môžete pre pracovný list použiť kódové meno VBA:
1 | List 1. Aktivujte |
Názov ActiveSheet
Ak chcete získať názov ActiveSheet:
1 | msgbox ActiveSheet.name |
Vybraté hárky vs ActiveSheet
V každom okamihu môže byť ActiveSheet iba jeden hárok. Je však možné vybrať viac pracovných listov naraz.
Keď je vybratých viac pracovných hárkov, za aktívny sa považuje iba „úplne hore“ pracovný hárok (aktívny list).
Vyberte pracovný list
Ak by ste chceli pracovný hárok vybrať namiesto jeho aktivácie. Namiesto toho použite .Vyberte.
Vyberte hárok podľa názvu karty
Tým sa vyberie pracovný hárok na základe názvu karty Tabuľka
1 | Tabuľky ("Vstup"). Vyberte |
Vyberte pracovný list podľa indexového čísla
Tým sa vyberie pracovný hárok na základe jeho polohy voči iným kartám
1 | Pracovné listy (1). Vyberte |
Vyberte pracovný hárok s kódovým názvom VBA
1 | List 1. Vyberte |
Výber hárkov podľa kódového názvu môže zabrániť chybám spôsobeným zmenami názvu hárka.
Vyberte Aktuálny pracovný hárok
Ak chcete vybrať aktuálny pracovný hárok, použite objekt ActiveSheet:
1 | ActiveSheet. Vyberte |
Viac Aktivovať / Vybrať príklady hárkov
Nastavte ActiveSheet na premennú
Tým sa ActiveSheet priradí k premennej objektu pracovného hárka.
123 | Dim ws As worksheetNastaviť ws = ActiveSheet |
Zmeňte názov ActiveSheet
Tým sa zmení názov ActiveSheet.
1 | ActiveSheet.Name = "Nové meno" |
S programom ActiveSheet
Použitie príkazu With vám umožňuje zefektívniť kód pri práci s objektmi (ako sú napríklad Tabuľky alebo ActiveSheet).
12345 | S programom ActiveSheet.Name = "StartFresh".Články.jasné.Rozsah („A1“). Hodnota = .NázovUkončiť s |
Všimnite si, ako nemusíte „ActiveSheet“ opakovať pred každým riadkom kódu. Pri práci s dlhým zoznamom príkazov to môže byť obrovská úspora času.
Smyčka cez vybrané listy
Nasledujúce makro bude prechádzať všetkými vybranými listami a zobrazovať ich názvy.
12345678 | Sub GetSelectedSheetsName ()Dim ws As worksheetPre každé ws v ActiveWindow.SelectedSheetsMsgBox ws.NameĎalšie wsKoniec pod |
Prejdite na nasledujúci hárok
Tento kód prejde na nasledujúci hárok. Ak je ActiveSheet posledným listom, prejde na prvý list v zošite.
12345 | Ak ActiveSheet.Index = Worksheets.Count ThenPracovné listy (1). AktivovaťInakActiveSheet.Next.ActivateKoniec Ak |