VBA ThisWorkbook | Paano Magamit ang ThisWorkbook Property sa Excel VBA?

Excel VBA ThisWorkbook

Ang ibig sabihin ng VBA ThisWorkbook ay ang workbook kung saan nagsusulat kami ng excel code. Halimbawa, kung nagtatrabaho ka sa workbook na pinangalanang "Sales 2019.xlsx" karaniwang tumutukoy kami sa workbook na tulad nito.

Mga Workbook ("Sales 2019.xlsx"). Paganahin

Ipapagana ng code ang workbook na pinangalanang "Sales 2019.xlsx".

Sa halip na magsulat ng ganito, maaari lamang naming isulat ang VBA code sa ibaba.

ThisWorkbook.Activate ’

Dito tumutukoy ang ThisWorkbook sa workbook kung saan sinusulat namin ang code. Sa pamamagitan ng pagtukoy sa salitang ito maaari naming maisagawa ang lahat ng mga gawain sa kasalukuyang workbook at maiwasan ang mahabang code na may isang buong pangalan na workbook.

Sigurado ako na nakita mo rin siguro ang salitang "Aktibong Workbook" kapag tumutukoy ka sa code ng iba. Ito rin ay isa sa mga madalas na ginagamit na mga salita sa pag-coding. Makikita natin kung ano ang mga pagkakaiba sa pagitan ng dalawang salitang ito sa pangunahing.

Paggawa gamit ang ThisWorkbook sa Excel VBA

Ang sanggunian na salitang "ThisWorkbook" ay mas maaasahan kaysa sa kwalipikado ng bagay ng Mga Workbook. Ang isa sa ugali ng tao ay ang maling pagta-type ng pangalan ng workbook na nagreresulta sa pagkahagis ng isang mensahe ng error.

Isa pang mahalagang kadahilanan kung bakit ang VBA ThisWorkbook ay mas maaasahan dahil kung sakali kung babaguhin natin ang pangalan ng workbook kailangan nating baguhin ang code dahil ginamit namin ang salitang "ThisWorkbook".

Kaya, ang ThisWorkbook ay mas ligtas na gamitin para sa pag-refer sa workbook kung saan nagsusulat kami ng code.

Maaari mong i-download ang VBA na ThisWorkbook Excel Template dito - VBA ThisWorkbook Excel Template na ito

Halimbawa # 1

Makikita natin ang ilan sa mga halimbawa kung saan maaari naming magamit ang salitang ThisWorkbook sa excel VBA. Ang sumusunod na code ay i-print ang pangalan ng workbook.

Code:

 Sub TWB_Example1 () Malabo ang WBName Bilang String WBName = ThisWorkbook. Pangalan MsgBox WBName End Sub 

Kapag pinatakbo mo ang code nang manu-mano o ginagamit ang F5 key pagkatapos, ipapakita ng code sa itaas ang pangalan ng workbook sa kahon ng mensahe sa VBA.

Halimbawa # 2

Sa halip na gamitin ang salitang "Workbook na Ito" maaari kaming gumamit ng mga variable upang maitakda ang sanggunian sa workbook at mabawasan pa ang haba ng code nang husto sa VBA. Halimbawa, tingnan muna ang code sa ibaba.

Code:

 Sub TWB_Example2 () ThisWorkbook. Aktibahin ang ThisWorkbook.Worksheets ("Sheet1"). Aktibahin ang ThisWorkbook. I-save ang ThisWorkbook.Close ThisWorkbook.SaveAs End Sub 

Ang code sa itaas ay ginamit ang "ThisWorkbook" sa bawat linya ng code. Gaano kahirap mag-type ng salitang bawat oras. Kaya, maaari nating i-minimize ito sa pamamagitan ng paggamit ng mga variable.

Ngayon, tingnan ang code sa ibaba na may variable.

Code:

 Sub TWB_Example2 () Dim Wb Bilang Workbook Set Wb = ThisWorkbook Wb. Aktibahin ang Wb. Worksheets ("Sheet1"). I-activate ang Wb. I-save ang Wb. Close Wb .aveAs End Sub 

Mukhang maganda, hindi ba ??

Hayaan mong ipaliwanag ko sa iyo ang code.

Una ay idineklara ko ang variable bilang object ng Workbook.

Dim Wb Bilang Workbook

Dahil ito ay isang variable ng bagay kailangan nating itakda ang sanggunian sa partikular na workbook. Kaya ginamit ko ang sangguniang "ThisWorkbook".

Itakda ang Wb = ThisWorkbook

Ngayon ang variable na "Wb" ay sumangguni sa workbook kung saan sinusulat namin ang code sa ngayon. Mula dito sa pagpapatuloy sa pamamaraan hindi namin kailangang gamitin ang salitang "ThisWorkbook" sa halip ay maaari naming gamitin ang variable na "Wb"

Aktibong Workbook vs ThisWorkbook sa Excel VBA

Tulad ng sinabi ko sa simula ng artikulo maraming mga coder ang gumagamit ng mga salitang Aktibong Workbook at ThisWorkbook na madalas sa kanilang VBA coding. Bilang isang mambabasa o isang bagong natututo, hindi madaling maunawaan ang dalawang ito. Kaya, hayaan mong ipaliwanag ko sa iyo ang ilan sa mga pagkakaiba.

Pagkakaiba # 1: Kahulugan

  • Aktibong Workbook: Ang Aktibong Workbook ay hindi kinakailangan ang workbook kung saan sinusulat namin ang code sa ngayon. Kung mayroon kang maraming binukhang mga workbook at alinman ang workbook na nakikita sa iyong screen ay itinuturing bilang Aktibong Workbook.
  • ThisWorkbook: AngWorkbook na ito ay palaging ang workbook kung saan sinusulat namin ang code sa ngayon.

Pagkakaiba 2: Mga Pagkakataon sa Error

  • Aktibong Workbook: Ang paggamit ng Aktibo sa pag-coding ay maaaring humantong sa maraming mga pagkakamali at pagkalito sapagkat hindi namin alam kung aling workbook ang aktibo maliban kung partikular naming binanggit ang workbook upang i-aktibo bago gamitin ang salitang Aktibong Workbook.
  • ThisWorkbook: AngWorkbook na ito ay hindi maaaring magkamali sapagkat hindi mahalaga kung aling workbook ang aktibo palagi itong kumukuha ng sanggunian ng workbook kung saan sinusulat namin ang code.