/ / Käyttäjän määrittelemä toiminto Excel VBA: ssa

Käyttäjän määrittelemä toiminto Excel VBA: ssa

Alla tarkastelemme ohjelmaa Excel VBA joka luo a Käyttäjän määrittelemä toiminto. Excelilla on suuri joukko toimintoja. Useimmissa tilanteissa nämä toiminnot ovat riittävät työn tekemiseen. Jos ei, voit luoda oman toiminnon nimeltä User Defined Function tai mukautettu Excel-toiminto. Voit käyttää käyttäjän määritettyä toimintoa aivan kuten minkä tahansa muun Excel-toiminnon.

Haluamme luoda SUMEVENNUMBERS-nimisen toiminnon, joka löytää satunnaisesti valitun alueen parillisten lukujen summan.

Tilanne:

Käyttäjän määrittelemä toiminto Excel VBA: ssa

Käyttäjän määrittelemät toiminnot on sijoitettava moduuliin.

1. Avaa Visual Basic Editor ja napsauta Insert, Module.

2. Lisää seuraava koodirivi:

Function SUMEVENNUMBERS(rng As Range)

Toimintamme nimi on SUMEVENNUMBERS. Kiinnikkeiden välinen osa tarkoittaa, että annamme Excel VBA: lle rivin tulona. Me nimeämme valikoimamme rng, mutta voit käyttää mitä tahansa nimeä.

3. Seuraavaksi ilmoitamme Range-objektin ja kutsumme sen soluksi.

Dim cell As Range

4. Haluamme tarkistaa jokaisen solun satunnaisesti valitulla alueella (tämä alue voi olla mikä tahansa koko). Excel VBA: ssa voit käyttää tätä varten jokaisen seuraavan silmukan. Lisää seuraavat koodiluokat:

For Each cell In rng

Next cell

Huomaa: solu valitaan satunnaisesti, voit käyttää mitä tahansa nimeä.

5. Seuraavaksi tarkistamme, onko kukin tämän alueen arvo, onko se tasainen vai ei. Käytämme tätä Mod-operaattoria. Mod-operaattori antaa loput jakautumisesta. Joten 7 mod 2 antaisi 1. 7 jaetaan kahdella (3 kertaa) antaa loput 1: n. Tämän sanottuaan on helppo tarkistaa, onko numero edes tasainen vai ei. Vain, jos loput numero jaettuna kahdella on 0, numero on tasainen. 8 mod 2 antaa 0, 8 jaetaan 2 täsmälleen 4 kertaa, joten 8 on tasainen. Lisää seuraavan If-lauseen Each For Next-silmukkaan.

If cell.Value Mod 2 = 0 Then

End If

6. Vain jos tämä toteamus on totta, lisäämme arvon SUMEVENNUMBERS. Lisää seuraava koodiluokka If-käskyyn.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Älä unohda lopettaa toimintoa (silmukan ulkopuolella).

End Function

8. Nyt voit käyttää tätä toimintoa, aivan kuten minkä tahansa muun Excel-toiminnon avulla, löytää satunnaisesti valitun alueen parillisten lukujen summa.

Tulos:

Käyttäjän määrittelemä funktiotulos

Hyvin tehty! Tämä on helppoa käyttäjän määrittelemien funktioiden löytämisessä Excel VBA: ssa. Huomaa: tämä toiminto on käytettävissä vain tässä työkirjassa.

Lue myös: