Exceli VBA alamprogramm: kuidas VBA-sse alamkutsuda näite abil

Lang L: none (table-of-contents):

Anonim

Mis on VBA alamprogramm?

Alamprogrammi VBA on tükk kood, mis sooritab konkreetse ülesande kirjeldatud kood kuid ei tagasta tulemus või väärtus. Alamprogramme kasutatakse suurte kooditükkide jaotamiseks väikesteks juhitavateks osadeks. Alamprogramme saab programmi kõikjalt mitu korda meelde tuletada.

Oletame, et olete kasutaja sisendandmete vastuvõtmiseks loonud tekstikastidega kasutajaliidese. Saate luua alamprogrammi, mis kustutab tekstikastide sisu. VBA kõne alamprogramm on sellise stsenaariumi korral asjakohane, kuna te ei soovi tulemusi kuvada.

Selles VBA õpetuses saate teada

  • Miks kasutada alamprogramme
  • Alamprogrammide ja funktsioonide nimetamise reeglid
  • VBA alamprogrammi süntaks
  • Kuidas helistada Sub-le VBA-s

Miks kasutada alamprogramme

  • Murdke kood väikesteks juhitavateks koodideks : keskmisel arvutiprogrammil on tuhandeid ja tuhandeid lähtekoodi ridu. See tutvustab keerukust. Alamprogrammid aitavad seda probleemi lahendada, jagades programmi väikesteks hallatavateks kooditükkideks.
  • Koodi korduvkasutus . Oletame, et teil on programm, mis peab andmebaasile juurde pääsema, pea kõik programmi aknad peavad andmebaasiga suhtlema. Nende akende jaoks eraldi koodi kirjutamise asemel saate luua funktsiooni, mis tegeleb kõigi andmebaaside interaktsioonidega. Seejärel saate seda helistada igast soovitud aknast.
  • Alamprogrammid ja funktsioonid on ise dokumenteeritavad . Oletame, et teil on funktsioon calcLoanInterest ja teine, mis ütleb, et connectToDatabase. Ainult 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 kõnefunktsiooni 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 numbrist ega erimärgist
  • Alamprogramm või funktsiooni nimi ei saa olla märksõna. Märksõna on sõna, millel on VBA-s eriline tähendus. Sellised sõnad nagu Private, Sub, Function ja End jne on märksõnade näited. Koostaja kasutab neid konkreetsete ülesannete täitmiseks.

VBA alamprogrammi süntaks

Selle näite järgimiseks peate Excelis lubama vahekaardi Arendaja. Kui te ei tea, kuidas vahekaarti Arendaja lubada, lugege VBA-operaatorite õpetust

SIIN süntaksis

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Süntaksi selgitus

Kood

Tegevus

  • "Private Sub mySubRoutine (…)"
  • Siin kasutatakse märksõna "Sub" alamprogrammi nimega "mySubRoutine" kuulutamiseks ja alamprogrammi keha käivitamiseks.
  • Alamprogrammi ulatuse täpsustamiseks kasutatakse märksõna Private
  • "ByVal arg1 stringina, ByVal arg2 stringina":
  • See deklareerib stringi andmetüübi nimede arg1 ja arg2 kaks parameetrit
  • "Lõpeta alam"
  • "End Sub" kasutatakse alamprogrammi keha lõpetamiseks

Järgmine alamprogramm aktsepteerib ees- ja perekonnanime ning kuvab need sõnumikastis.

Nüüd kavatseme selle alamprotseduuri programmeerida ja täita. Las see näeb.

Kuidas helistada Sub-le VBA-s

Allpool on samm-sammuline protsess, kuidas VBA-sse helistada:

  1. Kujundage kasutajaliides ja määrake kasutajakontrollide atribuudid.
  2. Lisage alamprogramm
  3. Kirjutage alamprogrammi kutsuva käsunupu klõpsamise sündmuse kood
  4. Testige rakendust

1. samm) kasutajaliides

Kujundage kasutajaliides, nagu on näidatud alloleval pildil

Määrake järgmised atribuudid. Atribuudid, mida me määrame

S / N Kontroll Kinnisvara Väärtus
1 CommandButton1 Nimi btnDisplayFullName
2 Pealkiri Täisnimi alamprogramm

Teie liides peaks nüüd välja nägema järgmine

2. samm) lisage alamprogramm

  1. Koodiakna avamiseks vajutage klahvikombinatsiooni Alt + F11
  2. Lisage järgmine alamprogramm
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

SIIN koodis,

Kood

Toimingud

  • "Private Sub displayFullName (…)"
  • See deklareerib privaatse alamprogrammi displayFullName, mis aktsepteerib kahte stringi parameetrit.
  • "ByVali eesnimi stringina, ByVali perekonnanimi stringina"
  • See deklareerib kaks parameetri muutujat eesnimi ja perekonnanimi
  • MsgBoxi eesnimi & "" & perekonnanimi "
  • See kutsub sõnumikasti kuvamiseks sisseehitatud funktsiooni MsgBox. Seejärel edastab see parameetritena muutujad "eesnimi" ja "perenimi".
  • Tähemärki "&" kasutatakse kahe muutuja liitmiseks ja nende vahele tühja ruumi lisamiseks.

Samm 3) Alamprogrammi kutsumine käsunupul klõpsake sündmust.

  • Paremklõpsake käsul nuppu, nagu on näidatud alloleval pildil. Valige Kuva kood.
  • Koodiredaktor avaneb

Lisage järgmine kood koodiredaktoris käsunupu btnDisplayFullName klõpsuürituse jaoks.

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.

4. samm. Koodi testimine

Arendaja tööriistaribal lükake kujundusrežiim välja. Nagu allpool näidatud.

Samm 5) Klõpsake käsunupul „AllName alamprogramm”.

Saad järgmised tulemused

Laadige ülaltoodud Exceli kood alla

Kokkuvõte:

  • Alamprogramm on koodijupp, mis täidab konkreetset ülesannet. Alamprogramm ei tagasta pärast käivitamist väärtust
  • Alamprogrammid pakuvad koodi korduvkasutatavust
  • Alamprogrammid aitavad jaotada suured kooditükid väikesteks hallatavateks koodideks.