Exceli VBA funktsioon ja alamlihtsad Exceli makrod

Lang L: none (table-of-contents)

Funktsioon | Sub

Erinevus a funktsiooni ja a sub sisse Exceli VBA on see, et funktsioon saab väärtuse tagastada, samas kui alam ei saa. Funktsioonid ja alamprogrammid muutuvad programmi suuruse kasvades väga kasulikuks.

Funktsioon

Kui soovite, et Excel VBA sooritaks tulemust tagastava ülesande, saate funktsiooni kasutada. Asetage funktsioon moodulisse (Visual Basic Editoris klõpsake Insert, Module). Näiteks funktsioon nimega Area.

Funktsioonipiirkond (x kui kahekordne, y kui kahekordne) kui kahekordne
Pindala = x * y
Lõppfunktsioon

Selgitus: Sellel funktsioonil on kaks argumenti (tüüpi Double) ja tagastustüüp (osa As järel, samuti tüüp Double). Koodis oleva funktsiooni nime (Area) abil saate näidata, millist tulemust soovite tagastada (siin x * y).

Nüüd saate sellele funktsioonile viidata (teisisõnu kutsuda funktsiooni) mujalt koodist, kasutades lihtsalt funktsiooni nime ja andes igale argumendile väärtuse.

Asetage oma töölehele käsunupp ja lisage järgmised koodiridad:

Dim z Nagu Double
z = ala (3, 5) + 2
Sõnumikast z

Selgitus: Funktsioon tagastab väärtuse, nii et peate selle väärtuse oma koodis kinni püüdma. Selleks võite kasutada mõnda muud muutujat (z). Seejärel saate sellele muutujale lisada teise väärtuse (kui soovite). Lõpuks kuvage väärtus MsgBoxi abil.

Tulemus, kui klõpsate lehel käsunuppu:

Sub

Kui soovite, et Excel VBA teeks mõningaid toiminguid, saate kasutada alammenüüd. Asetage alam moodulisse (Visual Basic Editoris klõpsake Insert, Module). Näiteks alam nimega Area.

Alampiirkond (x kahekordse, y kahekohalise)
MsgBox x * y
End Sub

Selgitus: selles alamosas on kaks argumenti (tüüpi Double). Sellel pole tagastustüüpi! Saate sellele alamosale viidata (helistada alamkohale) mujalt oma koodist, kasutades lihtsalt alamosa nime ja andes igale argumendile väärtuse.

Asetage oma töölehele käsunupp ja lisage järgmine koodirida:

Piirkond 3, 5

Tulemus, kui klõpsate lehel käsunuppu:

Kas näete erinevust funktsiooni ja alamosa vahel? Funktsioon tagas väärtuse 15. Lisasime sellele tulemusele väärtuse 2 ja kuvasime lõpptulemuse. Kui me subile helistasime, ei olnud meil enam tulemuse üle kontrolli (15), sest alam ei saa väärtust tagastada!

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave