VBA ThisWorkbook - Kako koristiti svojstvo ove radne knjige u programu Excel VBA?

Excel VBA ThisWorkbook

VBA ThisWorkbook znači radna knjiga u koju pišemo excel kod. Na primjer, ako radite u radnoj knjizi pod nazivom „Prodaja 2019.xlsx“, obično se na ovu radnu knjigu pozivamo.

Radne bilježnice („Prodaja 2019.xlsx“). Aktivirajte

Kôd će aktivirati radnu knjigu pod nazivom "Prodaja 2019.xlsx".

Umjesto da pišemo ovako, jednostavno možemo napisati VBA kod ispod.

ThisWorkbook.Activate '

Ovdje se ThisWorkbook odnosi na radnu knjigu u koju pišemo kod. Pozivajući se na ovu riječ, možemo izvršiti sve zadatke u trenutnoj radnoj knjizi i izbjeći dugački kôd s potpuno imenovanim nazivom radne knjige.

Siguran sam da ste sigurno vidjeli i riječ "Aktivna radna bilježnica" kada se pozivate na drugi kod. Ovo je također jedna od često korištenih riječi u kodiranju. Vidjet ćemo koje su razlike između ove dvije riječi u osnovi.

Rad s ovom radnom knjigom u programu Excel VBA

Referentna riječ "ThisWorkbook" pouzdanija je od kvalifikatora predmeta Workbooks. Jedna od ljudskih tendencija je pogrešno upisivanje naziva radne knjige, što rezultira izbacivanjem poruke o pogrešci.

Još jedan važan razlog zašto je VBA ThisWorkbook pouzdaniji, jer za svaki slučaj ako promijenimo naziv radne knjige, moramo izmijeniti kôd jer smo upotrijebili riječ "ThisWorkbook".

Dakle, ThisWorkbook je sigurnije koristiti za upućivanje na radnu knjigu u koju pišemo kod.

Primjer # 1

Vidjet ćemo neke primjere u kojima možemo koristiti riječ ThisWorkbook u excelu VBA. Sljedeći će kôd ispisati naziv radne knjige.

Kodirati:

Sub TWB_Example1 () Dim WBName As String WBName = ThisWorkbook.Name MsgBox WBName Kraj Sub

Kada kôd pokrenete ručno ili pomoću tipke F5, gornji kôd prikazat će naziv radne knjige u okviru za poruke u VBA.

Primjer # 2

Umjesto da koristimo riječ "Ova radna knjiga", pomoću varijabli možemo postaviti referencu na radnu knjigu, pa čak i drastično smanjiti duljinu koda u VBA. Na primjer, prvo pogledajte donji kod.

Kodirati:

Pod TWB_Example2 () ThisWorkbook.Activate ThisWorkbook.Worksheets ("Sheet1"). Aktivirajte ThisWorkbook.Save ThisWorkbook.Close ThisWorkbook.SaveAs End Sub

Gornji kôd koristio je "ThisWorkbook" u svim retcima koda. Koliko je teško svaki put upisati riječ. Dakle, to možemo umanjiti korištenjem varijabli.

Sada, pogledajte donji kod s varijablom.

Kodirati:

Sub TWB_Example2 () Zatamni Wb kao set radne knjige Wb = ThisWorkbook Wb.Activate Wb.Worksheets ("Sheet1"). Aktiviraj Wb.Save Wb.Close Wb.SaveAs End Sub

Izgleda prekrasno, zar ne ??

Dopustite da vam objasnim kod.

Prvo, proglasio sam varijablu kao objekt radne knjige.

Zatamni Wb kao radnu knjigu

Budući da je ovo objektna varijabla, moramo postaviti referencu na određenu radnu knjigu. Stoga sam koristio referencu "ThisWorkbook".

Postavi Wb = ThisWorkbook

Sada se varijabla "Wb" odnosi na radnu knjigu u koju trenutno pišemo kod. Od sada pa nadalje u proceduri, ne trebamo koristiti riječ "ThisWorkbook", već možemo koristiti varijablu "Wb".

Aktivna radna knjiga u odnosu na ovu radnu knjigu u programu Excel VBA

Kao što sam rekao na početku članka, mnogi programeri vrlo često koriste riječi Active Workbook & ThisWorkbook u svom VBA kodiranju. Kao čitatelju ili novom učeniku nije lako razumjeti to dvoje. Pa, dopustite mi da vam objasnim neke razlike.

Razlika br. 1: Značenje

  • Aktivna radna knjiga: Aktivna radna knjiga nije nužno radna knjiga u koju trenutno pišemo kod. Ako imate više otvorenih radnih knjiga i koja god je radna knjiga vidljiva na vašem zaslonu, smatra se aktivnom radnom knjigom .
  • ThisWorkbook: ThisWorkbook je uvijek radna knjiga u koju trenutno pišemo kod.

Razlika 2: Mogućnosti pogreške

  • Aktivna radna knjiga: Korištenje aktivnog u kodiranju može dovesti do mnogih pogrešaka i zabune jer nikada ne znamo koja je radna knjiga aktivna, osim ako radnu knjigu posebno ne navedemo za aktiviranje prije upotrebe riječi Aktivna radna knjiga.
  • ThisWorkbook: ThisWorkbook ne može pogriješiti jer nije važno koja je radna knjiga aktivna. Uvijek je potrebna referenca radne knjige u kojoj pišemo kod.

Zanimljivi članci...