Verskil tussen subroetine & amp; Funksie in Excel VBA

  • Deel Dit
Hugh West

Daar is baie ooreenkomste tussen 'n pasgemaakte funksie/gebruikergedefinieerde funksie -prosedure en die Subprosedure/Subroutine in Excel . Funksie -prosedures het egter 'n paar belangrike verskille van Subroutine -prosedures. In hierdie artikel sal ons die verskil tussen subroetine en funksie in Excel VBA sien.

Laai Oefenwerkboek af

Jy kan die oefenwerkboek van hier af aflaai.

Subroutine en Funksie.xlsm

Inleiding tot Subroetine & Funksie in Excel VBA

Die belangrikste verskil is dat 'n funksie 'n waarde ('n getal of 'n teksstring) gee. Die waarde van die funksieprosedure word in 'n veranderlike gestoor; 'n veranderlike wie se naam dieselfde is as die funksie se naam. Die subroetine voer 'n stel take uit en gee nie 'n waarde soos funksies terug nie.

1. Excel VBA Gebruiker-gedefinieerde funksie

Sien die volgende voorbeeld. AddTwoNumber is die funksienaam. Hierdie funksie sal die som van twee getalle wat as argumente geslaag is ( arg1 en arg2 ) terugstuur. Die som word gestoor in 'n veranderlike genaamd AddTwoNumber dieselfde as die funksienaam.

AddTwoNumber VBA-funksie

Om 'n pasgemaakte funksie te skep, volg hierdie stappe:

  • Aktiveer eerstens die VBA Editor deur Alt+F11 te druk.
  • Selekteer tweedens die werkboek in die Projek venster.
  • Derdens,kies Voeg in en dan Module om 'n VBA in te voeg. Jy kan ook 'n bestaande kodemodule gebruik. Die kodemodule moet 'n standaard VBA -module wees.

  • Kopieer en plak dan die onderstaande kode vir die funksie. Die funksienaam moet uniek wees vir daardie werkboek. Tik 'n lys van die argumente (indien enige) tussen hakies. As die funksie nie 'n argument gebruik nie, voeg die VBA Editor 'n stel leë hakies by.
9335
  • Verder is hierdie deel belangrik. Voeg die VBA -kode in wat jou beoogde doelwit uitvoer. Die waarde wat jy van hierdie funksie wil terugstuur, sal in 'n veranderlike gestoor word; 'n veranderlike wie se naam dieselfde is as die funksie se naam.
  • Ten slotte, eindig die funksie met 'n Eindfunksie .

Lees meer: ​​ Hoe om VBA-gebruikergedefinieerde funksie te gebruik (4 geskikte voorbeelde)

Soortgelyke lesings

  • 22 Makro-voorbeelde in Excel VBA
  • 20 praktiese koderingswenke om Excel VBA te bemeester
  • Hoe om VBA-kode in Excel te skryf (Met maklike stappe)
  • Tipe VBA-makro's in Excel ('n Vinnige gids)

2. Excel VBA-subroetine

In die volgende voorbeeld sal jy sien hoe die subroetine in Excel VBA werk. Hier begin die Sub die liggaam van die subroetine. Die subroetine naam is square_root. In die liggaam van die subroetine voer ons 'n taak in sel uit A2 . Die taak is om die vierkantswortel in sel A2 uit te voer. Dit beteken, as die sel enige nommer bevat, sal die Excel VBA die vierkantswortel van daardie sel uitvoer. Die End Sub eindig die liggaam van die subroetine.

Om 'n subroetine te skep, volg hierdie stappe:

  • Aktiveer eers die VB Editor (druk Alt+F11 ).
  • Selekteer tweedens die werkboek in die Projek -venster.
  • Derdens, kies Voeg in en dan Module om 'n VBA-module in te voeg. Jy kan ook 'n bestaande kodemodule gebruik. Die kodemodule moet 'n standaard VBA-module wees.

  • Voer vervolgens die sleutelwoord SUB in gevolg deur die subroetine se naam.
  • Voeg ook die VBA -kode in wat jy wil uitvoer.
5758
  • Laastens, die subroetine met 'n End Sub .

Sleutelverskille tussen subroetine & Funksie in Excel VBA

Nadat die subroetine en funksies afsonderlik uitgevoer is, kan ons die verskille in die tabel hieronder aflei.

Funksies Subroutines
1) Wys 'n waarde. 1) Voer 'n stel take uit, maar gee nie 'n waarde terug .
2) Funksies word opgeroep deur 'n veranderlike te gebruik. 2) Kan van enige plek binne die program in verskeie tipes na die verklaring herroep word.
3) Kan as formules in die sigblaaie gebruik word. 3) Kan nie gebruik word niedirek in die sigblaaie as formules.
4) Ons kan funksies as formules in die sigblaaie gebruik. Ons kan dit verskeie kere uitvoer nadat ons die kode uitgevoer het. 4) Om die resultaat van die Excel VBA-subroetine te vind, moet ons eers 'n waarde in die verlangde sel invoeg.
5) Sintaksis:

Funksie Funksie_Naam()

//Stel kodes

Eindfunksie

5) Sintaksis:

Sub Sub_Name ()

//Stel kodes

End Sub

Dinge om te onthou

  • Die ontwikkelaar oortjie moet geaktiveer wees voordat jy hierdie metodes gebruik.
  • Ons kan Subroutine in Makro's in die Ontwikkelaar -oortjie terwyl gebruikergedefinieerde funksies in die Funksie -oortjie met gepasmaakte soektog funksioneer.

Gevolgtrekking

As jy nog steeds probleme ondervind met enige van hierdie instruksies of teenstrydighede het, laat weet ons in die kommentaar. Ons span is gereed om al jou vrae te beantwoord. Vir enige Excel-verwante probleme, kan jy ons webwerf ExcelWIKI besoek vir oplossings.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.