VBA Lucrul cu cărțile de lucru (obiectul Caietului de lucru)

Acest ghid vă va prezenta lucrul cu Obiect de registru de lucru în VBA.

Obiectul Caiet de lucru

În primul rând, pentru a interacționa cu registrele de lucru din VBA, trebuie să înțelegeți Obiect de registru de lucru.

Cu obiectul registru de lucru, puteți face referire la registrele de lucru după numele lor astfel:

1 Cărți de lucru („Book2.xlsm”). Activați

Cu toate acestea, acest cod va funcționa numai dacă registrul de lucru este deschis. Dacă registrul de lucru este închis, va trebui să furnizați calea completă a registrului de lucru:

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

În loc să tastați calea completă, dacă registrul de lucru dorit se află în același director cu registrul de lucru în care este stocat codul dvs., puteți utiliza acest cod de linie pentru a deschide registrul de lucru:

1 Workbooks.Open (ThisWorkbook.Path & "\ book2.xlsm")

Aceasta folosește obiectul ThisWorkbook pe care îl vom discuta în secțiunea următoare.

Număr index carte de lucru

În cele din urmă, puteți face referință la registrele de lucru după „Numărul index”. Numărul index al unui registru de lucru corespunde ordinii de deschidere a registrului de lucru (din punct de vedere tehnic este poziția registrului de lucru în colecția de registre de lucru).

1 Cărți de lucru (1). Activați

Acest lucru este util dacă doriți să faceți ceva de genul închiderii primului (sau ultimului) registru de lucru deschis.

Activați Workbook, ActiveWorkbook și ThisWorkbook

Dacă un registru de lucru este INACTIV, puteți accesa obiectele din Workbook astfel:

1 Cărți de lucru („Book2.xlsm”). Foi („Sheet1”). Range („A1”). Valoare = 1

Cu toate acestea, dacă registrul de lucru este activ, puteți omite obiectul registrului de lucru:

1 Foi („Foaie1”). Interval („A1”). Valoare = 1

Și dacă doriți să interacționați cu foaia activă a registrului de lucru, puteți, de asemenea, să omiteți obiectul foi:

1 Gama („A1”). Valoare = 1

Activați registrul de lucru

Pentru a activa un registru de lucru, utilizați Activează metoda.

1 Cărți de lucru („Book2.xlsm”). Activați

Acum puteți interacționa cu obiectul Book2 fără a indica în mod explicit numele registrului de lucru.

ActiveWorkbook

The ActiveWorkbook obiectul se referă întotdeauna la registrul de lucru activ. Acest lucru este util dacă doriți să atribuiți ActiveWorkbook unei variabile de utilizat ulterior.

12 Dim wb Ca registru de lucruSetați wb = ActiveWorkbook

Acest manual de lucru

The Acest manual de lucru obiect se referă întotdeauna la registrul de lucru în care este stocat codul de rulare. Pentru a activa ThisWorkbook, utilizați această linie de cod:

1 ThisWorkbook.Activate

Deschideți registru de lucru

Pentru a deschide un registru de lucru, utilizați Metoda deschisă:

1 Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Cartea de lucru nou deschisă va deveni întotdeauna ActiveWorkbook, permițându-vă să interacționați cu ușurință cu acesta.

1 ActiveWorkbook.Save

Metoda Deschisă are mai multe alte argumente, permițându-vă să deschideți numai citire, să deschideți un registru de lucru protejat prin parolă și multe altele. Este tratat aici în articolul nostru despre deschiderea / închiderea registrelor de lucru.

Deschideți și atribuiți variabilei

De asemenea, puteți deschide un registru de lucru și îl puteți atribui unei variabile în același timp:

12 Dim wb Ca registru de lucruSet wb = Workbooks.Open ("C: \ Users \ StevePC2 \ Downloads \ book2.xlsm")

Deschideți dialogul de fișiere

De asemenea, puteți declanșa caseta de dialog Deschidere fișier astfel:

12345678 Sub OpenWorkbook ()Dim strFile As StringstrFile = Application.GetOpenFilename ()Cărți de lucru.Open (strFile)Sfârșitul Sub

Creați un registru de lucru nou (Adăugați)

Această linie de cod va crea un nou registru de lucru:

1 Cărți de lucru.Adăugare

Noul registru de lucru devine acum ActiveWorkbook, permițându-vă să interacționați cu acesta (ex. salvați noul registru de lucru).

Adăugați un registru de lucru nou la variabilă

De asemenea, puteți adăuga un nou registru de lucru direct la o variabilă:

12 Dim wb Ca registru de lucruSetați wb = Workbooks.Add

Închideți registrul de lucru

Închideți și salvați

Pentru a închide un registru de lucru cu salvarea, utilizați Metoda de închidere cu Salvează modificările setat la ADEVĂRAT:

1 ActiveWorkbook.Close SaveChanges: = True

Închideți fără Salvare

Pentru a închide fără a salva, setați Salvează modificările egal cu FALS:

1 ActiveWorkbook.Close SaveChanges: = False

Cartea de lucru Salvați ca

The Metoda SaveAs este folosit pentru a salva un registru de lucru ca.

Pentru a salva un registru de lucru cu un nume nou, în același director, puteți implica acest lucru:

1 ActiveWorkbook.SaveAs "nou"

unde „nou” este noul nume de fișier.

Pentru a salva un registru de lucru într-un director nou cu o anumită extensie de fișier, trebuie doar să specificați noul director și numele fișierului:

1 ActiveWorkbook.SaveAs "C: \ Users \ StevePC2 \ Downloads \ new.xlsm"

Alte exemple VBA de registru de lucru

Numele registrului de lucru

Pentru a obține numele unui registru de lucru:

1 MsgBox ActiveWorkbook.Name

Protejați registrul de lucru

Pentru a proteja structura registrului de lucru de editare, puteți utiliza fișierul Metoda de protejare (parola opțională):

1 Cărți de lucru („book1.xlsm”). Protejați „parola”

Pentru a proteja un registru de lucru utilizați Metoda UnProtect:

1 Cărți de lucru („book1.xlsm”). Anulați protecția „parolei”

Buclați prin toate registrele de lucru deschise

Pentru a parcurge toate registrele de lucru deschise:

123456789 Sub LoopThroughWBs ()Dim wb Ca registru de lucruPentru fiecare wb din registrele de lucruMsgBox wb.NameUrmătorul wbSfârșitul Sub

Carnet de lucru Activare eveniment

Puteți rula un anumit cod ori de câte ori este deschis un anumit registru de lucru cu Cartea de lucru Eveniment deschis.

Plasați această procedură în modulul ThisWorkbook al registrului de lucru:

123 Private Sub Workbook_Open ()Foi de calcul („foaia1”). ActivațiSfârșitul Sub

Această procedură se va activa Foaia 1 de fiecare dată când se deschide registrul de lucru.

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

wave wave wave wave wave