Exceli VBA alamprogramm: kuidas VBA-s alam helistada näitega
Mis on VBA alamprogramm?
A Alamprogramm VBA-s on kooditükk, mis täidab konkreetset koodis kirjeldatud ülesannet, kuid ei tagasta tulemust ega väärtust. Alamprogramme kasutatakse suurte kooditükkide jagamiseks väikesteks hallatavateks osadeks. Alamprogramme saab igal pool programmis mitu korda tagasi kutsuda.
Oletame, et olete loonud kasutajaliidese tekstikastidega kasutaja sisendandmete vastuvõtmiseks. Saate luua alamprogrammi, mis tühjendab tekstikastide sisu. VBA kõne alamprogramm on sellise stsenaariumi korral asjakohane, kuna te ei soovi tulemusi tagastada.
Miks kasutada alamprogramme
- Jagage kood väikeseks hallatavaks koodiks: Keskmisel arvutiprogrammil on tuhandeid ja tuhandeid lähtekoodi ridu. See toob kaasa keerukuse. Alamprogrammid aitavad seda probleemi lahendada, jagades programmi väikesteks hallatavateks kooditükkideks.
- Koodi korduvkasutatavus. Oletame, et teil on programm, mis vajab juurdepääsu andmebaasile, peaaegu kõik programmi aknad peavad andmebaasiga suhtlema. Nende akende jaoks eraldi koodi kirjutamise asemel saate luua funktsiooni, mis käsitleb kõiki andmebaasi interaktsioone. Seejärel saate sellele helistada mis tahes aknast.
- Alamprogrammid ja funktsioonid on isedokumenteeruvad. Oletame, et teil on funktsioon arvutadaLoanInterest ja teine, mis ütleb connectToDatabase. Lihtsalt alamprogrammi/funktsiooni nime vaadates saab programmeerija öelda, mida programm teeb.
Alamprogrammide ja funktsioonide nimetamise reeglid
Alamprogrammide ja funktsioonide kasutamiseks on kehtestatud reeglid, mida tuleb järgida.
- Alamprogrammi või VBA kutsefunktsiooni nimi ei tohi sisaldada tühikut
- Exceli VBA kõne alam- või funktsiooni nimi peaks algama tähe või alakriipsuga. See ei saa alata numbri ega erimärgiga
- Alamprogrammi või funktsiooni nimi ei saa olla märksõna. Märksõna on sõna, millel on eriline tähendus VBA. Sõnad nagu privaatne, alam, funktsioon ja lõpp jne on kõik märksõnade näited. Kompilaator kasutab neid konkreetsete ülesannete jaoks.
VBA alamprogrammi süntaks
Selle näite järgimiseks peate lubama Excelis vahekaardi Arendaja. Kui te ei tea, kuidas vahekaarti Arendaja lubada, lugege õpetust edasi VBA Operatorse
SIIN süntaksis,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Süntaksi selgitus
kood | tegevus |
---|---|
|
|
|
|
|
|
Järgmine alamprogramm aktsepteerib ees- ja perekonnanime ning kuvab need sõnumikastis.
Nüüd hakkame selle alamprotseduuri programmeerima ja täitma. Vaatame seda.
Kuidas VBA-s Subi helistada
Allpool on samm-sammult VBA-s Sub-i helistamise protsess:
- Kujundage kasutajaliides ja määrake kasutaja juhtelementide omadused.
- Lisage alamprogramm
- Kirjutage alamprogrammi kutsuva käsunupu klikisündmuse kood
- Testige rakendust
Step 1) Kasutajaliides
Kujundage kasutajaliides nii, nagu on näidatud alloleval pildil.
Määrake järgmised omadused. Atribuudid, mida me seadistame:
S / N | Kontroll | vara | Väärtus |
---|---|---|---|
1 | CommandButton1 | Nimi | btnDisplayFullName |
2 | Pealkiri | Täisnimi alamprogramm |
Teie liides peaks nüüd välja nägema järgmine.
Step 2) Lisa alamprogramm
- Koodiakna avamiseks vajutage Alt + F11
- Lisage järgmine alamprogramm
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
SIIN koodis,
kood | Meetmete |
---|---|
|
|
|
|
|
|
Step 3) Alamprogrammi kutsumine
Alamprogrammi kutsumine käsunupu kliki sündmusest.
- Paremklõpsake käsunupul, nagu on näidatud alloleval pildil. Valige Kuva kood.
- Avaneb koodiredaktor
Lisage käsunupu btnDisplayFullName klõpsamise sündmuse jaoks koodiredaktorisse järgmine kood.
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
Teie koodiaken peaks nüüd välja nägema järgmine
Salvestage muudatused ja sulgege koodiaken.
Step 4) Koodi testimine
Lülitage arendaja tööriistaribal kujundusrežiim välja. Nagu allpool näidatud.
Step 5) Klõpsake käsunuppu 'FullName Subrutiin'.
Saate järgmised tulemused
kokkuvõte
- Alamprogramm on kooditükk, mis täidab konkreetset ülesannet. Alamprogramm ei tagasta pärast täitmist väärtust
- Alamprogrammid pakuvad koodi korduvkasutatavust
- Alamprogrammid aitavad jagada suured kooditükid väikesteks hallatavateks koodideks.