Pagkakaiba sa pagitan ng Subroutine & Function sa Excel VBA

  • Ibahagi Ito
Hugh West

Maraming pagkakatulad sa pagitan ng isang custom na Function/User-Defined Function na pamamaraan at ang Sub-procedure/Subroutine sa Excel . Gayunpaman, ang mga pamamaraan ng Function ay may ilang mahahalagang pagkakaiba sa mga pamamaraan ng Subroutine . Sa artikulong ito, makikita natin ang pagkakaiba sa pagitan ng subroutine at function sa Excel VBA .

I-download ang Practice Workbook

Maaari mong i-download ang practice workbook mula dito.

Subroutine at Function.xlsm

Panimula sa Subroutine & Function sa Excel VBA

Ang pinakamahalagang pagkakaiba ay ang isang function ay nagbabalik ng halaga (isang numero o isang text string). Ang halaga ng pamamaraan ng pag-andar ay naka-imbak sa isang variable; isang variable na ang pangalan ay kapareho ng pangalan ng function. Ang subroutine ay gumaganap ng ilang hanay ng mga gawain at hindi nagbabalik ng halaga tulad ng mga function.

1. Excel VBA User-Defined Function

Tingnan ang sumusunod na halimbawa. Ang AddTwoNumber ay ang pangalan ng function. Ibabalik ng function na ito ang kabuuan ng dalawang numerong ipinasa bilang mga argumento ( arg1 at arg2 ). Ang kabuuan ay nakaimbak sa isang variable na pinangalanang AddTwoNumber kapareho ng pangalan ng function.

AddTwoNumber VBA Function

Upang gumawa ng custom na function, sundin ang mga hakbang na ito:

  • Una, i-activate ang VBA Editor sa pamamagitan ng pagpindot sa Alt+F11 .
  • Pangalawa, piliin ang workbook sa Project window.
  • Pangatlo,piliin ang Insert at pagkatapos ay Module para magpasok ng VBA Maaari ka ring gumamit ng umiiral na code module. Ang code module ay dapat na isang karaniwang VBA module.

  • Pagkatapos ay kopyahin at i-paste ang code sa ibaba para sa function. Ang pangalan ng function ay dapat na natatangi para sa workbook na iyon. Maglagay ng listahan ng mga argumento (kung mayroon man) sa panaklong. Kung ang function ay hindi gumagamit ng argumento, ang VBA Editor ay nagdaragdag ng isang hanay ng mga walang laman na panaklong.
1418
  • Higit pa rito, ang bahaging ito ay mahalaga. Ipasok ang VBA code na gumaganap ng iyong nilalayon na layunin. Ang halaga na gusto mong ibalik mula sa function na ito ay maiimbak sa isang variable; isang variable na ang pangalan ay kapareho ng pangalan ng function.
  • Sa wakas, tapusin ang function gamit ang isang End Function .

Magbasa Nang Higit Pa: Paano Gamitin ang VBA User Defined Function (4 Angkop na Halimbawa)

Mga Katulad na Pagbasa

  • 22 Mga Halimbawa ng Macro sa Excel VBA
  • 20 Mga Tip sa Praktikal na Pag-code para Mabisado ang Excel VBA
  • Paano Sumulat ng VBA Code sa Excel (Sa Madaling Hakbang)
  • Mga Uri ng VBA Macros sa Excel (Isang Mabilis na Gabay)

2. Excel VBA Subroutine

Sa sumusunod na halimbawa, makikita mo kung paano gumagana ang subroutine sa Excel VBA . Dito sinisimulan ng Sub ang katawan ng subroutine. Ang subroutine na pangalan ay square_root. Sa katawan ng subroutine, nagsasagawa kami ng isang gawain sa cell A2 . Ang gawain ay gumaganap ng square root sa cell A2 . Ibig sabihin, kung ang cell ay naglalaman ng anumang numero, gagawin ng Excel VBA ang square root ng cell na iyon. Tinatapos ng End Sub ang katawan ng subroutine.

Upang gumawa ng subroutine, sundin ang mga hakbang na ito:

  • Una, i-activate ang VB Editor (pindutin ang Alt+F11 ).
  • Pangalawa, piliin ang workbook sa window ng Project .
  • Ikatlo, piliin ang Ipasok at pagkatapos ay Module para magpasok ng VBA module. Maaari ka ring gumamit ng isang umiiral na module ng code. Ang code module ay dapat na isang karaniwang VBA module.

  • Susunod, ilagay ang keyword na SUB na sinusundan ng pangalan ng Subroutine.
  • Sa karagdagan, ipasok ang VBA code na gusto mong gawin.
3385
  • Sa wakas, ang Subroutine na may End Sub .

Mga Pangunahing Pagkakaiba sa Pagitan ng Subroutine & Function sa Excel VBA

Pagkatapos isagawa ang subroutine at mga function nang hiwalay, maaari nating tapusin ang mga pagkakaiba sa talahanayan sa ibaba.

Mga Function Mga Subroutine
1) Nagbabalik ng value. 1) Nagsasagawa ng isang hanay ng mga gawain ngunit hindi nagbabalik ng halaga .
2) Tinatawag ang mga function sa pamamagitan ng paggamit ng variable. 2) Maaaring ma-recall mula saanman sa loob ng program sa maraming uri pagkatapos ng deklarasyon.
3) Maaaring gamitin bilang mga formula sa mga spreadsheet. 3) Hindi magagamitdirekta sa mga spreadsheet bilang mga formula.
4) Maaari naming gamitin ang mga function bilang mga formula sa mga spreadsheet. Magagawa natin ito ng ilang beses pagkatapos patakbuhin ang code. 4) Para mahanap ang resulta ng Excel VBA subroutine kailangan muna nating magpasok ng value sa gustong cell.
5) Syntax:

Function Function_Name()

//Set ng mga code

End Function

5) Syntax:

Sub Sub_Name ()

//Set ng mga code

End Sub

Mga Dapat Tandaan

  • Dapat na pinagana ang developer tab bago gamitin ang mga pamamaraang ito.
  • Makikita namin ang Subroutine sa Macros sa tab na Developer habang ang mga function na tinukoy ng user sa tab na Function gamit ang custom na paghahanap.

Konklusyon

Kung nagkakaproblema ka pa rin sa alinman sa mga tagubiling ito o nagkakaroon ng mga pagkakaiba, ipaalam sa amin sa mga komento. Ang aming koponan ay handang sagutin ang lahat ng iyong mga katanungan. Para sa anumang mga problemang nauugnay sa excel, maaari mong bisitahin ang aming website ExcelWIKI para sa mga solusyon.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.