VBA ActiveSheet & Cum se activează sau se selectează o foaie

Acest articol va discuta obiectul ActiveSheet în VBA. De asemenea, se va discuta despre cum se activează, se selectează și se accesează foile de lucru (și multe altele). Citiți Ghidul nostru complet al foilor de lucru VBA pentru mai multe informații despre lucrul cu foile de lucru în VBA.

Foaie activă

În VBA, ActiveSheet se referă la Foaia de lucru activă în prezent. O singură foaie poate fi activă odată.

Activați foaia de lucru (setarea fisei ActiveSheet)

Pentru a seta ActiveSheet utilizați Foaia de lucru. Activați:

1 Fișe de lucru („Intrare”). Activați

Comanda Activare foaie va „merge la” foaie, schimbând foaia vizibilă.

Exemplul de mai sus folosește numele Sheet (Tab). În schimb, puteți utiliza numele codului VBA pentru foaia de lucru:

1 Foaie 1. Activați

Nume ActiveSheet

Pentru a obține numele ActiveSheet:

1 msgbox ActiveSheet.name

Foi selectate vs ActiveSheet

În orice moment, o singură foaie poate fi ActiveSheet. Cu toate acestea, mai multe foi de lucru pot fi selectate simultan.

Atunci când sunt selectate mai multe foi de lucru, numai foaia de lucru „de sus” este considerată activă (foaia de lucru activă).

Selectați Foaie de lucru

Dacă doriți să selectați o foaie de lucru în loc să o activați. Folosiți .Selectați în schimb.

Selectați Foaia de lucru după numele filei

Aceasta selectează o foaie de lucru pe baza numelui filei de foaie

1 Foi de calcul („Introducere”). Selectați

Selectați Foaia de lucru după numărul de index

Aceasta selectează o foaie de lucru pe baza poziției sale față de alte file

1 Fișe de lucru (1). Selectați

Selectați Foaia de lucru cu numele codului VBA

1 Foaie 1. Selectați

Selectarea foilor de lucru după numele codului poate preveni erorile cauzate de modificările numelui foii de lucru.

Selectați Foaia de lucru curentă

Pentru a selecta foaia de lucru curentă, utilizați obiectul ActiveSheet:

1 ActiveSheet.Select

Mai multe exemple de activare / selectare a foilor

Setați ActiveSheet la Variable

Aceasta va atribui foaia activă unei variabile de obiect a foii de lucru.

123 Dim ws Ca foaie de lucruSetați ws = ActiveSheet

Schimbați numele ActiveSheet

Aceasta va schimba numele ActiveSheet.

1 ActiveSheet.Name = "NumeNou"

Cu ActiveSheet

Utilizarea declarației With vă permite să vă simplificați codul atunci când lucrați cu obiecte (cum ar fi Foi de calcul sau ActiveSheet).

12345 Cu ActiveSheet.Name = "StartFresh".Celule.Clar.Range ("A1"). Valoare = .NumeSe termina cu

Observați cum nu trebuie să repetați „ActiveSheet” înainte de fiecare linie de cod. Acest lucru poate fi un mare economisire de timp atunci când lucrați cu o listă lungă de comenzi.

Buclați prin foi selectate

Următoarea macro va parcurge toate foile selectate, afișând numele acestora.

12345678 Sub GetSelectedSheetsName ()Dim ws Ca foaie de lucruPentru fiecare ws în ActiveWindow.SelectedSheetsMsgBox ws.NameUrmătorul wsSfârșitul Sub

GoTo Next Sheet

Acest cod va merge la următoarea foaie. Dacă foaia activă este ultima foaie, atunci va merge la prima foaie din registrul de lucru.

12345 Dacă ActiveSheet.Index = Worksheets.Count atunciFișe de lucru (1). ActivațiAltfelActiveSheet.Next.ActivateEnd If

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave