Kuigi Excelil on juba sadu sisseehitatud funktsioone, nagu SUM, VLOOKUP, LEFT ja nii edasi, ei piisa saadaolevatest sisseehitatud funktsioonidest tavaliselt piisavalt keerukate ülesannete täitmiseks. Kuid ärge muretsege, sest peate ainult ise vajalikud funktsioonid looma.
Samm
Samm 1. Looge uus töövihik või avage töövihik, mida soovite kasutaja määratud funktsioonidega (UDF) töödelda
Samm 2. Avage Microsoft Excelis Visual Basic Editor, kasutades tööriistu-> Makro-> Visual Basic Editor (või vajutage kiirklahvi Alt+F11)
Samm 3. Töölehele uue mooduli lisamiseks klõpsake nuppu Moodul
Saate UDF -i töövihikusse luua ilma uut moodulit lisamata, kuid funktsioon ei tööta sama töövihiku teistel töölehtedel.
Samm 4. Looge oma funktsiooni "pea" või "prototüüp"
Funktsiooni prototüüp peab järgima järgmist struktuuri:
avalik funktsioon "Funktsiooni nimi" (parameeter 1 Tüüp1, parameeter2 Tüüp2) Tulemuse tüübina.
Prototüüpidel võib olla võimalikult palju funktsioone ja nende tüübid võivad olla kõik baasandmetüübid või Exceli objektitüübid vahemiku kujul. Võite mõelda parameetritest kui „operaatoritest” (operaatoritest), millele funktsioon toimib. Näiteks kui kirjutate 45 kraadi siinuse arvutamiseks SIN (45), võetakse parameetriks number 45. Seejärel kasutab funktsioonikood neid väärtusi arvutuste tegemiseks ja tulemuste kuvamiseks.
Samm 5. Lisage funktsioonikood, et tagada: 1) parameetri antud väärtuse kasutamine; 2) edastada tulemus funktsiooni nimele; ja 3) sulgege funktsioon lausega "lõppfunktsioon". VBA või mõnes muus keeles programmeerimise õppimine võtab palju aega ja üksikasjalikke juhiseid. Õnneks on neil funktsioonidel tavaliselt väikesed koodiplokid ja nad ei kasuta programmeerimiskeele funktsioone palju. Siin on mõned VBA keele elemendid, mida saab kasutada:
- Plokk If (kui), mis võimaldab teil osa koodist käivitada ainult siis, kui tingimus on täidetud. Näitena:
- . Võite märksõna Else koos koodi teise osaga välja jätta, kuna see on valikuline.
- Plokk Do (do), mis täidab osa ajast või kuni koodist, kui või kui tingimus on täidetud. Näitena:
- . Pange tähele ka teist rida, mis "deklareerib" muutujat. Saate oma koodile lisada muutujaid hilisemaks kasutamiseks. Muutujad toimivad koodis ajutiste väärtustena. Lõpuks kaaluge funktsiooni deklaratsiooni BOOLEAN, mis on andmetüüp, mis lubab ainult väärtusi TRUE või FALSE. See algarvude määramise meetod pole kaugeltki optimaalne, kuid kood on kirjutatud nii, et seda oleks lihtne lugeda.
- Ploki jaoks (to), mis käivitab teatud koguse koodi. Näitena:
- Pidev väärtus, mis sisestatakse otse lahtri valemisse. Sel juhul tuleb tekst (string) tsiteerida.
- Lahtrite viited näiteks B6 või vahemikku nagu A1: C3 (parameeter peab olema andmetüüp „Vahemik”)
-
Teine funktsioon, mis on teie funktsiooni lisatud (teie funktsiooni saab lisada ka mõnda teise funktsiooni), näiteks: = Factorial (MAX (D6: D8))
Samm 7. Veenduge, et tulemused on õiged
Kasutage seda mitu korda veendumaks, et funktsioon suudab erinevate parameetrite väärtusi õigesti käsitseda:
Näpunäiteid
- Kui kirjutate koodiplokke juhtimisstruktuuridesse, nagu If, For, Do jne, veenduge, et sisestate koodiploki taandesse (sisestage vasakpoolne ääris veidi sisse), vajutades mitu korda tühikut või tab. See muudab koodi hõlpsamini mõistetavaks ja vigu on palju lihtsam leida. Lisaks muutub funktsionaalsuse suurendamine lihtsamaks.
- Kui te ei tea, kuidas funktsioonidele koodi kirjutada, lugege artiklit Lihtsa makro kirjutamine Microsoft Excelis.
- Mõnikord ei vaja funktsioonid tulemuse arvutamiseks kõiki parameetreid. Sel juhul saate funktsiooni päises parameetri nime ees kasutada valikulist märksõna. Saate kasutada koodi IsMissing (parameetri_nimi) funktsiooni, et teha kindlaks, kas parameetrile on määratud väärtus või mitte.
- Kasutage kasutamata nimesid Excelis funktsioonidena, et mitte ühtegi funktsiooni üle kirjutada ja kustutada.
- Excelil on palju sisseehitatud funktsioone ja enamikku arvutusi saab nende sisseehitatud funktsioonide abil teha kas eraldi või korraga. Enne kui hakkate ise kodeerima, vaadake kindlasti saadaolevate funktsioonide loendit. Täitmist saab teha kiiremini, kui kasutate sisseehitatud funktsioone.
Hoiatus
- Turvalisuse huvides keelavad paljud inimesed makrod. Veenduge, et teavitate oma töövihiku adressaate, et esitatud töövihikus on makrod ja et need ei kahjusta nende arvuteid.
- Selles artiklis kasutatud funktsioon ei ole parim viis sellega seotud probleemi lahendamiseks. Näite abil selgitatakse keele juhtimisstruktuuride kasutamist.
- VBA -l, nagu ka teistel keeltel, on peale Do, If ja For mitmeid muid juhtimisstruktuure. Siin käsitletud struktuur kirjeldab ainult seda, mida saab funktsiooni lähtekoodis teha. Internetis on palju juhendeid, mida saab kasutada VBA õppimisel.
Avaliku funktsiooni kursuse tulemus (täisarvuna) stringina
Kui väärtus> = 5 Siis
Kursuse tulemused = "Vastu võetud"
Muidu
Kursuse tulemused = "Tagasilükatud"
Lõpp Kui
Lõppfunktsioon
Pange tähele If -koodi ploki elemente:
IF tingimus SIIS kood MUU kood LÕPPE IF
Avalik funktsioon BilPrima (väärtus kui täisarv) kui Boolean
Dim i As täisarv
i = 2
BilPrima = Tõsi
Tehke
Kui väärtus / i = Int (väärtus / i) Siis
BilPrima = Vale
Lõpp Kui
i = i + 1
Loop Kuigi i <väärtus Ja NumberPrima = Tõene
Lõppfunktsioon
Vaadake uuesti elemente:
DO kood LOOP WHILE/KUNI
Avaliku funktsiooni tegur (väärtus täisarvuna) nii kaua
Tuhmid tulemused nii kaua
Dim i As täisarv
Kui väärtus = 0, siis
tulemus = 1
ElseIf väärtus = 1 Siis
tulemus = 1
Muidu
tulemus = 1
Sest i = 1 Väärtus
tulemus = tulemus * i
Edasi
Lõpp Kui
Faktoriaalne = tulemus
Lõppfunktsioon
Vaadake uuesti elemente:
Muutuja jaoks = koodi JÄRGMINE alampiir kuni ülempiir
. Pange tähele ka lauset If täiendavat elementi ElseIf, mis võimaldab teil käivitatavale koodile lisada rohkem valikuid. Lõpuks kaaluge funktsiooni „tulemus” ja muutujat, mis on deklareeritud pikaks. Pika andmetüüp võimaldab palju suuremaid väärtusi kui täisarv.
Allpool on toodud funktsiooni kood, mis teisendab väikesed numbrid sõnadeks.
Samm 6. Naaske töövihiku juurde ja kasutage funktsiooni, kirjutades sümboli „võrdne” (=), millele järgneb lahtris oleva funktsiooni nimi
Kirjutage märgi abil funktsiooni sulgemise järel sulgud (“(“)) kooma parameetrite eraldamiseks ja lõpetamiseks sulgudes (“)”). Näitena:
= NumberToLetter (A4)
. Võite kasutada ka omatehtud valemeid, otsides neid kategooriatest Kasutaja määratud Sisestage valem. Sa lihtsalt klõpsad nupul Fx valemiribast vasakul. Funktsioonides on kolme tüüpi parameetrivorme: