VBA ActiveWorkbook versus ThisWorkbook

Selles õpetuses käsitletakse erinevust VBA ActiveWorkbooki ja ThisWorkbooki vahel.

ActiveWorkbook versus ThisWorkbook

Oluline on teada erinevust ActiveWorkbooki ja ThisWorkbooki vahel VBA -s:

ActiveWorkbook on praegu aktiivne töövihik (sarnaselt sellele, kuidas ActiveSheet on praegu aktiivne leht). See töövihik on töövihik, kuhu on salvestatud VBA -kood. See tööraamat ei muutu kunagi.

See tööraamat

Mõelge ThisWorkbookile kui objekti muutujale, mis võimaldab teil viidata töövihikule, mis sisaldab praegu töötavat koodi.

Sellel koodil kuvatakse sõnumikast selle töövihiku nimega:

123 Sub Show_ThisWorkbook ()MsgBox ThisWorkbook.NameEnd Sub

ActiveWorkbook

ActiveWorkbook on objekti muutuja, mis võimaldab teil viidata praegu aktiivsele töövihikule.

See kood kuvab MessageBoxi ActiveWorkbooki nimega:

123 Sub Show_ActiveWorkbook ()MsgBox ActiveWorkbook.NameEnd Sub

VBA eeldab ActiveWorkbooki

ActiveWorkbookis objektidega (nt arvutustabelitega) töötamisel ei pea te ActiveWorkbooki objekti selgesõnaliselt märkima. VBA eeldab, et viitate ActiveWorkbookile.

Nii et see:

1 ActiveWorkbook.Sheets ("Sheet1"). Vahemik ("$ A $ 5"). Väärtus = 1

Kas see on sama:

1 Arvutustabelid ("leht 1"). Vahemik ("$ A $ 5"). Väärtus = 1

Uued või avatud töövihikud on aktiivsed

Kui loote uue töövihiku või avate töövihiku, muutub töövihik aktiivseks. Selle koodi abil näete ise, mis lisab töövihiku ja saab uue töövihiku nime:

1234 Sub Show_ActiveWorkbook_Add ()Töövihikud. LisaMsgBox ActiveWorkbook.NameEnd Sub

Pärast töövihiku lisamist või avamist saate selle ActiveWorkbooki objekti abil muutujale määrata. Allpool toodud näidetes näitame teile, kuidas.

Selle töövihiku ja aktiivse töövihiku näited

Vaheta aktiivset töövihikut

Aktiivse töövihiku vahetamine töövihiku nime abil:

1 Töövihikud ("Raamat1"). Aktiveeri

Aktiveeritud töövihiku vahetamine töölehe järjekorranumbri abil (1 on töövihiku esimene tööleht)

1 Töövihikud (1). Aktiveeri

Tehke see töövihik aktiivseks

Tehke sellest töövihikust (kuhu on salvestatud praegu töötav kood) ActiveWorkbook:

1 See töövihik. Aktiveeri

Määrake ActiveWorkbook muutujaks

Määrake ActiveWorkbook töövihiku objekti muutujale:

12 Dim wb TöövihikunaMäära wb = ActiveWorkbook

Sulgege ja salvestage aktiivne töövihik

Sulgeb ja salvestab ActiveWorkbooki:

1 ActiveWorkbook.Sulge SaveChanges: = Tõsi

Sulgege aktiivne töövihik salvestamata

Sulgeb ActiveWorkbooki salvestamata:

1 ActiveWorkbook.Close SaveChanges: = Vale

ActiveWorkbook - Salvesta nimega

Teostab aktiivse töövihiku salvestamise nime.

123456789 Sub SaveAsActiveWorkbook ()Tuhm tulemus Variandinaresult = Application.GetSaveAsFilename (InitialFileName: = "", _FileFilter: = "Exceli makro-lubatud töövihik ( *.xlsm), *.xlsm, Exceli töövihik ( *.xlsx), *.xlsx")Kui tulemus = vale, siis tagastageActiveWorkbook.SaveAs tulemusEnd Sub

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave