VBA all | Kuidas helistada alammenetlusele VBA koodeksis?

Exceli VBA alammenetlus

VBA-s olevat SUB-d nimetatakse ka alamprogrammiks või protseduuriks, mis sisaldab kogu koodi, see on VBA-s sisseehitatud lause ja kui seda kasutatakse, annab see meile automaatselt lõigu alamlause ja kodeerimiseks kasutatakse keskmist osa, alamlause võib olla nii avalik kui ka privaatne ning alamprotseduuri nimi on VBA-s kohustuslik.

Sub tähendab VBA-s alamprotseduuri. Alamprotseduure kasutatakse konkreetse koodivormis esitatud ülesannete komplekti täitmiseks. See täidab ainult VBA keeles koodis mainitud ülesannet, kuid ei anna mingit väärtust.

Kuidas kirjutada VBA alamprotseduure?

Selle VBA alammenetluse malli saate alla laadida siit - VBA alammenetluse mall

Alamprotseduuride koodide kirjutamiseks on oluline mõista alamprotseduuri ülesehitust. Allpool on ülesehitus

Sub [Menetluse nimi] (Parameetrid) [Mida tuleb teha?]) Lõpp Sub

Alamprotseduuri alustamiseks peame kasutama sõna "Sub" ja peame andma Sub-le protseduuri nimena nime. Protseduuri nimi pole midagi muud kui meie makro nimi. VBA alamprotseduuris pole meil tavaliselt sulgudes parameetreid.

Pärast alamprotseduuri nime kirjutamist peame kirjutama ülesanded, mis tuleb teha. Seejärel tuleb lause End ehk End Sub.

Näide 1 - lihtne alammenetlus

Nüüd heitke pilk lihtsatele alamprotseduuride kirjutamise meetoditele.

1. samm: alustage moodulis sõna „Sub”.

2. samm: nimetage nüüd makro nimi või protseduuri nimi.

3. samm: pärast alamprotseduurile nime andmist vajutage lihtsalt sisestusklahvi, rakendab see lõpplauset automaatselt.

Nüüd näeme siin kahte asja: üks on alammenetluse algus ja teine ​​lõpp. Parema mõistmise huvides võime neid nimetada "pea" ja "saba".

Makro pea ja saba vahele peame mõne ülesande täitmiseks kirjutama oma koodi.

Näide # 2 - lihtne alamprogrammi ülesanne

Ok, nüüd näeme, kuidas siin mõnda lihtsat toimingut teha.

Oletame, et soovite lahtrisse A1 sisestada väärtuse „Excel VBA”.

1. samm: alustage alamprotseduuri ülaltoodud meetodite abil.

Kood:

 1. alammeede () Lõpp alam 

2. samm: lahtrisse A1 pääsemiseks peame kasutama sõna RANGE.

Kood:

 Alammeede1 () Vahemik (Lõpp-alam 

3. samm: küsitakse, mis on lahter1, millele soovite viidata? Sel juhul on tegemist lahtriga A1.

Kood:

 Alammeede1 () Vahemik ("A1") Lõpp-alam 

4. samm: peame sisestama väärtuse „Excel VBA”, seega valige omadus VALUE, pannes punkti vahemiku taha.

Kood:

 Alammeede1 () Vahemik ("A1"). Väärtus Lõpp Alam 

Kui hakkate sisestama sõna VALUE, näete palju valikuid ja neid valikuid nimetatakse IntelliSense'i loendiks, mis ennustab teie kirjutatava põhjal. See on nagu valemite ilmumine töölehele, kui hakkame valemit tippima.

5. samm: pärast VALUE valimist pange võrdusmärk ja sisestage kahekordsetes jutumärkides väärtus “Excel VBA”.

Kood:

 Alammeede1 () Vahemik ("A1"). Väärtus = "Excel VBA" Lõpp-alam 

Nii et oleme valmis.

Nüüd peame selle ülesande täitma. Tagastatava ülesande täitmiseks peame selle koodi käivitama, vajutades visuaalse põhiredaktori aknas nuppu RUN.

Samuti võime vajutada Exceli kiirklahvi, asetades kursori makrokoodi sisse.

Niipea kui olete koodi käivitanud, saate lahtrisse A1 väärtuse „Excel VBA”.

VBA alamprogrammi tüübid

Meil on alammenetluses veel kaks tüüpi, üks on avalik alammenetlus ja teine ​​on privaatne alammenetlus.

Sõnad „Avalik” ja „Privaatne” on juurdepääsetavuse muutjad, mis võimaldavad meil neid alamprotseduure erinevalt kasutada.

  • Avalik alammenetlus võimaldab meil protseduuri kasutada kõigis töövihiku moodulites.
  • Privaatne alamprotseduur võimaldab meil kasutada protseduuri ainult praeguses moodulis, mitte kusagil mujal.

Näiteks vaadake allpool olevat avaliku koodeksi pilti, mis on moodulis 1.

Nüüd saan moodulis 2 ka seda alamprotseduuri kasutada.

Action1 on alamprotseduuri nimi, mida oleme kasutanud moodulis 1.

Moodulis 2 mainisin seda kui “Call Action1”. See tähendab, et alamprotseduuri käivitamisel täidab see mooduli 1 alamprotseduuri Action1.

Privaatprotseduuridele ei pääse juurde teisest moodulist, peame neile juurde pääsema ainult samast moodulist.


$config[zx-auto] not found$config[zx-overlay] not found