/ / Excel VBA funkcija un apakšprogramma

Excel VBA funkcija un apakšprogramma

Funkcija | Sub

Starpība starp funkcija un a sub in Excel VBA ir tāda, ka funkcija var atgriezt vērtību, bet sub nevar. Funkcijas un apakšprogrammas kļūst ļoti noderīgas, jo programmas lielums palielinās.

Funkcija

Ja vēlaties Excel VBA izpildīt uzdevumu, kasatgriež rezultātu, jūs varat izmantot funkciju. Novietojiet funkciju modulī (Visual Basic Editor, noklikšķiniet uz Insert, Module). Piemēram, funkcija ar nosaukumu Area.

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

Paskaidrojums: Šai funkcijai ir divi argumenti (tipa Double) un atgriešanās veids (daļa pēc As kā arī tipa Double). Savā kodā varat izmantot nosaukuma funkciju (apgabals), lai norādītu, kuru rezultātu vēlaties atgriezt (šeit x * y).

Tagad jūs varat atsaukties uz šo funkciju (citiem vārdiem, izsaukt funkciju) no sava vietā citā vietā, vienkārši lietojot funkcijas nosaukumu un norādot vērtību katram argumentam.

Ievietojiet komandas pogu savā darblapā un pievienojiet šādas koda rindiņas:

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

Paskaidrojums: Funkcija atgriež vērtību, tādēļ tavā kodā ir jāaizpilda šī vērtība. Varat izmantot citu mainīgo (z). Tālāk jūs varat pievienot citu vērtību šim mainīgajam (ja vēlaties). Visbeidzot, parādīt vērtību, izmantojot MsgBox.

Rezultāts, noklikšķinot uz komandas pogas lapā:

Excel VBA funkciju rezultāts

Sub

Ja vēlaties, lai Excel VBA veiktu dažas darbības, varat izmantot apakšprogrammu. Ievietojiet apakšgrupu modulī (Visual Basic Editor, noklikšķiniet uz Insert, Module). Piemēram, sub ar nosaukumu Area.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Paskaidrojums: Šim apakšpunktam ir divi argumenti (tipa Double). Tam nav atgriešanās tipa! Jūs varat atsaukties uz šo apakškategoriju (zvaniet apakšnodaļai) no sava vietā citā vietā, vienkārši lietojot apakšnodaļas nosaukumu un sniedzot vērtību katram argumentam.

Novietojiet komandas pogu savā darblapā un pievienojiet šādu koda rindiņu:

Area 3, 5

Rezultāts, noklikšķinot uz komandas pogas lapā:

Excel VBA apakšizdevums

Vai jūs varat redzēt atšķirību starp funkcijuun sub? Funkcija atgriež vērtību 15. Mēs pievienojām šo rezultātu vērtību 2 un parādījām galīgo rezultātu. Kad mēs saucam par apakškategoriju, mums vairs nekontrolēja rezultātu (15), jo sub nevar atgriezt vērtību!

Lasīt arī: