/ / Excel VBA și registru de lucru Obiect

Excel VBA și fișier de lucru

Ierarhia obiectelor | Colecții | Proprietăți și metode

Aflați mai multe despre Workbook și Foaie de lucru Obiect în Excel VBA.

Ierarhia obiectelor

În Excel VBA, un obiect poate conține un alt obiectobiect și acest obiect poate conține un alt obiect etc. Cu alte cuvinte, programarea Excel VBA implică lucrul cu o ierarhie de obiecte. Probabil că sună destul de confuz, dar o vom clarifica.

Mama tuturor obiectelor este Excel în sine. Noi numim obiectul Application. Obiectul aplicației conține alte obiecte. De exemplu, obiectul din registrul de lucru (fișier Excel). Acesta poate fi orice registru de lucru pe care l-ați creat. Obiectul Obiect de lucru conține alte obiecte, cum ar fi obiectul Foaie de lucru. Obiectul Fișier de lucru conține alte obiecte, cum ar fi obiectul Range.

Capitolul Creați un macro ilustrează modul de rulare a codului făcând clic pe un buton de comandă. Am folosit următoarea linie de cod:

Range("A1").Value = "Hello"

dar ceea ce am vrut să spunem a fost:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Notă: obiectele sunt conectate cu un punct. Din fericire, nu trebuie să adăugăm o linie de cod în acest fel. Asta pentru că am plasat butonul de comandă în create-a-macro.xls, în prima foaie de lucru. Rețineți că, dacă doriți să modificați lucrurile pe diferite foi de lucru, trebuie să includeți obiectul Fișier de lucru. Citește mai departe.

Colecții

Probabil ați observat că registrele de lucru șiFoile de lucru sunt plurale. Aceasta este pentru că sunt colecții. Colecția de cărți de lucru conține toate obiectele din agenda de lucru care sunt deschise în prezent. Colecția de foi de lucru conține toate obiectele din foaia de lucru dintr-un registru de lucru.

Fișa foii de lucru

Puteți să consultați un membru al colecției, de exemplu, un singur obiect din foaia de lucru, în trei moduri.

1. Utilizând numele foii de lucru.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Folosind numărul indexului (1 este prima foaie de lucru pornind de la stânga).

Worksheets(1).Range("A1").Value = "Hello"

3. Folosind CodeName.

Sheet1.Range("A1").Value = "Hello"

Pentru a vedea CodeName-ul unei foi de lucru, deschideți Editorul Visual Basic. În Project Explorer, primul nume este CodeName. Al doilea nume este numele foii de lucru (Vânzări).

Nume de cod

Notă: CodeName rămâne același dacă modificați numele foii de lucru sau ordinea foilor de lucru, astfel că acesta este cel mai sigur mod de a trimite o foaie de lucru. Faceți clic pe Vizualizare, Fereastră de proprietăți pentru a modifica CodName al unei foi de lucru. Există un dezavantaj, nu puteți utiliza CodName dacă trimiteți o foaie de lucru într-un alt registru de lucru.

Proprietăți și metode

Acum, să aruncăm o privire asupra unor proprietăți șimetodele de colectare a cărților de lucru și a foilor de lucru. Proprietățile sunt ceva ce o colecție are (descrie colecția), în timp ce metodele fac ceva (efectuează o acțiune cu o colecție).

Plasați un buton de comandă pe foaia dvs. de lucru și adăugați linii de cod:

1. Metoda Add method of the Workbooks creează un nou registru de lucru.

Workbooks.Add

Notă: metoda de adăugare a colecției de cărți de lucru creează o foaie de lucru nouă.

2. Proprietatea Count a colecției de foi de lucru numără numărul de foi de lucru dintr-un registru de lucru.

MsgBox Worksheets.Count

Rezultat când faceți clic pe butonul de comandă de pe foaie:

Evaluați proprietatea în Excel VBA

Notă: proprietatea Count a colecției de cărți de lucru numără numărul de registre de lucru active.

De asemenea, citiți: