VBA Ez a munkafüzet - Hogyan kell használni ezt a munkafüzet tulajdonságot az Excel VBA-ban?

Tartalomjegyzék

Excel VBA Ez a munkafüzet

VBA Ez a munkafüzet azt a munkafüzetet jelenti, amelybe az excel kódot írjuk. Például, ha az „Értékesítés 2019.xlsx” nevű munkafüzetben dolgozik, akkor általában az ilyen munkafüzetre hivatkozunk.

Munkafüzetek („Értékesítés 2019.xlsx”). Aktiválás

A kód aktiválja a „Sales 2019.xlsx” nevű munkafüzetet.

Ilyen írás helyett egyszerűen megírhatjuk az alábbiakban a VBA kódot.

ThisWorkbook.Activate '

Itt Ez a munkafüzet arra a munkafüzetre utal, ahol a kódot írjuk. Erre a szóra hivatkozva végrehajthatjuk az aktuális munkafüzet összes feladatát, és elkerülhetjük a hosszú kódokat egy teljesen megnevezett munkafüzet-névvel.

Biztos vagyok benne, hogy Ön is látta az „Aktív munkafüzet” szót, amikor a többi kódra hivatkozik. Ez is a kódolásban gyakran használt szavak egyike. Meglátjuk, mi a különbség e két szó között az alapszintben.

A ThisWorkbook használata az Excel VBA-ban

A „ThisWorkbook” referenciaszó megbízhatóbb, mint a Workbooks objektumminősítő. Az egyik emberi tendencia a munkafüzet nevének hibás beírása, ami hibaüzenetet dob.

Még egy fontos ok, amiért a VBA ThisWorkbook megbízhatóbb, mert minden esetben, ha megváltoztatjuk a munkafüzet nevét, meg kell változtatnunk a kódot, mert a „ThisWorkbook” szót használtuk.

Tehát a ThisWorkbook biztonságosabb használni a munkafüzetre való hivatkozásra, ahol a kódot írjuk.

1. példa

Látni fogunk néhány példát, ahol a ThisWorkbook szót használhatjuk az excel VBA-ban. A következő kód kinyomtatja a munkafüzet nevét.

Kód:

TWB_Example1 () Dim WBName mint karakterlánc WBName = ThisWorkbook.Név MsgBox WBName End Sub

Amikor manuálisan futtatja a kódot, vagy az F5 billentyű használatával, a fenti kód a munkafüzet nevét jeleníti meg a VBA üzenetmezőjében.

2. példa

A „Ez a munkafüzet” szó helyett változókkal állíthatjuk be a munkafüzet hivatkozását, sőt drasztikusan csökkenthetjük a kód hosszát a VBA-ban. Például először nézze meg az alábbi kódot.

Kód:

TWB_Example2 () Ez a munkafüzet. Aktiválja ezt a munkafüzetet. Munkafüzetek ("1. lap"). Aktiválja ezt a munkafüzetet. Mentse el ezt a munkafüzetet. Zárja be ezt a munkafüzetet.

A fenti kód a „ThisWorkbook” szót használta a kód minden sorában. Milyen nehéz minden egyes alkalommal beírni a szót. Tehát ezt változók segítségével minimalizálhatjuk.

Most nézze meg az alábbi kódot a változóval.

Kód:

TWB_Example2 () Dim Wb Workbook Set Wb = This Workbook Wb.A Wb.Worksheets ("Sheet1") aktiválása. Aktiválja a Wb.Save Wb.Close Wb.SaveAs End Sub részt

Gyönyörűen néz ki, nem ??

Hadd magyarázzam el a kódot nektek.

Először deklaráltam a változót munkafüzet objektumként.

Dim Wb munkafüzetként

Mivel ez egy objektumváltozó, meg kell adnunk a hivatkozást az adott munkafüzetre. Tehát a „ThisWorkbook” referenciát használtam.

Set Wb = ThisWorkbook

Most a „Wb” változóra hivatkozunk a munkafüzetre, ahol éppen a kódot írjuk. Az eljárás folytatásától kezdve nem kell a „ThisWorkbook” szót használni, hanem a „Wb” változót.

Aktív munkafüzet és ThisWorkbook az Excel VBA-ban

Mint a cikk elején elmondtam, sok kódoló nagyon gyakran használja az Active Workbook & ThisWorkbook szavakat a VBA kódolásakor. Olvasóként vagy új tanulóként nem könnyű megérteni ezt a kettőt. Tehát hadd magyarázzam el nektek a különbségeket.

1. különbség: Jelentés

  • Aktív munkafüzet: Az Aktív munkafüzet nem feltétlenül az a munkafüzet, ahová éppen a kódot írjuk. Ha több nyitott munkafüzete van, és amelyik munkafüzet látható a képernyőn, az aktív munkafüzetnek számít .
  • Ez a munkafüzet : Ez a munkafüzet mindig az a munkafüzet, ahová éppen a kódot írjuk.

2. különbség: Hiba esélyek

  • Aktív munkafüzet: Az Active használata a kódolásban sok hibához és zavart okozhat, mert soha nem tudjuk, melyik munkafüzet aktív, kivéve, ha az Aktív munkafüzet szó használata előtt külön megemlítjük az aktiválandó munkafüzetet.
  • ThisWorkbook: ThisWorkbook nem baj, mert nem számít, hogy melyik munkafüzet aktív. Mindig a munkafüzet hivatkozására van szükség, ahova a kódot írjuk.

érdekes cikkek...