VBA ActiveWorkbook pret šo darba grāmatu

Šajā apmācībā tiks apspriesta atšķirība starp VBA ActiveWorkbook un ThisWorkbook.

ActiveWorkbook pret ThisWorkbook

Ir svarīgi zināt atšķirību starp ActiveWorkbook un ThisWorkbook VBA:

ActiveWorkbook ir darbgrāmata, kas pašlaik ir aktīva (līdzīgi kā ActiveSheet ir pašlaik aktīvā lapa). Šī darba grāmata ir darbgrāmata, kurā tiek glabāts VBA kods. Šī darba grāmata nekad nemainīsies.

Šī darba grāmata

Domājiet par šo darba grāmatu kā par objekta mainīgo, kas ļauj atsaukties uz darbgrāmatu, kurā ir pašlaik darbojošais kods.

Šis kods parādīs MessageBox ar šī darbgrāmatas nosaukumu:

123 Sub Show_ThisWorkbook ()MsgBox ThisWorkbook.NameBeigu apakš

ActiveWorkbook

ActiveWorkbook ir objekta mainīgais, kas ļauj atsaukties uz pašlaik aktīvo darbgrāmatu.

Šis kods parādīs MessageBox ar ActiveWorkbook nosaukumu:

123 Sub Show_ActiveWorkbook ()MsgBox ActiveWorkbook.NameBeigu apakš

VBA uzņemas ActiveWorkbook

Mēģinot strādāt ar objektiem (piemēram, izklājlapām) ActiveWorkbook, jums nav skaidri jānorāda ActiveWorkbook objekts. VBA pieņems, ka jūs atsaucaties uz ActiveWorkbook.

Tātad šis:

1 ActiveWorkbook.Sheets ("Sheet1"). Diapazons ("$ A $ 5"). Vērtība = 1

Ir tāds pats kā šis:

1 Izklājlapas ("1. lapa"). Diapazons ("$ A $ 5"). Vērtība = 1

Jaunas vai atvērtas darbgrāmatas ir aktīvas

Ikreiz, kad izveidojat jaunu darbgrāmatu vai atverat darbgrāmatu, tā kļūst par “aktīvu”. Jūs varat pārliecināties par šo kodu, kas pievienos darbgrāmatu un iegūs jaunās darbgrāmatas nosaukumu:

1234 Sub Show_ActiveWorkbook_Add ()Darbgrāmatas. PievienotMsgBox ActiveWorkbook.NameBeigu apakš

Pēc darbgrāmatas pievienošanas vai atvēršanas varat to piešķirt mainīgajam, izmantojot ActiveWorkbook objektu. Tālāk sniegtajos piemēros mēs jums parādīsim:

ThisWorkbook un ActiveWorkbook piemēri

Pārslēgt aktīvo darbgrāmatu

Pārslēdziet aktīvo darbgrāmatu, izmantojot darbgrāmatas nosaukumu:

1 Darbgrāmatas ("1. grāmata"). Aktivizēt

Pārslēgt aktīvo darbgrāmatu, izmantojot darblapas pasūtījuma numuru (1 ir pirmā darblapa darbgrāmatā)

1 Darbgrāmatas (1). Aktivizēt

Padariet šo darbgrāmatu aktīvu

Padarīt šo darbgrāmatu (kurā tiek saglabāts pašlaik darbojošais kods) par ActiveWorkbook:

1 Šī darba grāmata. Aktivizēt

Iestatiet ActiveWorkbook uz mainīgo

Piešķiriet ActiveWorkbook darbgrāmatas objekta mainīgajam:

12 Dim wb kā darbgrāmataIestatīt wb = ActiveWorkbook

Aizveriet un saglabājiet aktīvo darbgrāmatu

Aizver un saglabā ActiveWorkbook:

1 ActiveWorkbook.Close SaveChanges: = True

Aizveriet aktīvo darbgrāmatu, nesaglabājot

Aizver ActiveWorkbook, nesaglabājot:

1 ActiveWorkbook.Close SaveChanges: = Nepareizi

ActiveWorkbook - Saglabāt kā

Veic saglabāšanu kā aktīvo darbgrāmatu.

123456789 Sub SaveAsActiveWorkbook ()Dim rezultāts Kā variantsrezultāts = Application.GetSaveAsFilename (InitialFileName: = "", _FileFilter: = "Excel makro iespējota darbgrāmata ( *.xlsm), *.xlsm, Excel darbgrāmata ( *.xlsx), *.xlsx")Ja rezultāts = nepatiess, tad atgriezietiesActiveWorkbook.SaveAs rezultātsBeigu apakš

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave