(Kohandatud) kasutaja määratud funktsioonide (UDF) loomine

See õpetus selgitab, kuidas luua VBA -s kasutaja määratud funktsioone.

VBA koosneb alamprotseduuridest ja funktsiooniprotseduuridest. Funktsiooniprotseduurid tagastavad väärtuse ja neid saab kutsuda alamprotseduuride abil või neid saab kasutada Exceli lehel, kus funktsiooni toodetud väärtus tagastatakse Exceli lehele. Muidugi on Excelil mitmeid sisseehitatud funktsioone - näiteks summafunktsioon või funktsioon If. Funktsiooniprotseduure, mida VBA-s kirjutate, kasutatakse sarnaselt sisseehitatud funktsiooniga ja neid tuntakse kui kasutaja määratletud funktsioone (UDF).

Miks luua UDF?

Nõutav funktsioon puudub

Üks peamisi põhjuseid, miks soovite Excelis UDF-i luua, on see, et puudub olemasolev sisseehitatud funktsioon, mis selle ülesande teie eest ära teeks. Oma funktsiooni kirjutamine VBA -s on tavaliselt kõige tõhusam viis probleemi lahendamiseks. Allolev funktsioon teisendab väärtuse kilogrammidest naelteks, kus arvutamise tegemiseks kasutatakse kilogrammide väärtuse saamiseks muutuvat parameetrit (dblKilo).

Alamrutiini (makro) asendamine

Ülesande lahendamiseks võite kirjutada alamprotseduuri (makro) - kuid alamprotseduurid ei tagasta väärtust ega ole dünaamilised - teisisõnu, kui teie töölehe väärtused muutuvad, peate selle uuesti käivitama makro, et makro arvutused saaksid teie andmeid värskendada. Allpool toodud alamprotseduur teisendaks ka meie kilod naelteks, kuid iga kord, kui andmed A1-s muutusid, peate tulemuse värskendamiseks makro uuesti käivitama.

Valem asendada

Teil võib Excelis olla tõesti keeruline valem, mida peate korduvalt kasutama - valemi sisestamine VBA -koodi hõlbustab lugemist ja mõistmist - ning võib -olla ka valemi sisestamisel ruumi kasutaja vigade kõrvaldamiseks.

UDF -ide loomine

UDF -i loomiseks lisage esmalt oma Exceli töövihikusse moodul või kui teil on isikliku makro töövihik, võite kasutada seal olemasolevat moodulit või lisada uue. Selleks peate olema Visual Basic Editoris (VBE). VBE -le pääsemiseks vajutage ALT + F11 või klõpsake lindi vahekaardil Arendaja Visual Basic suvandil.

NÕUANNE: Kui teie lindil pole vahekaart Arendaja lubatud, minge aadressile Fail, suvandid ja klõpsake nuppu Kohandage lint. Veenduge, et arendaja ruut oleks märgitud ja klõpsake nuppu OK.

Uue mooduli sisestamiseks valige VBA projekt, kuhu soovite mooduli sisestada (kas praeguse raamatu VBA projekt või isikliku makro töövihik), klõpsake nuppu Sisesta Ja klõpsake nuppu Moodul

Kui olete mooduli loonud, võite alustada UDF -i loomist.

Kõik UDF -id algavad funktsiooniga ja seejärel UDF -i nimega. Funktsioonid võivad olla privaatsed või avalikud, kuid tavaliselt soovite, et UDF oleks avalik, et need kuvataks Exceli dialoogiboksis Funktsiooni sisestamine (vt funktsiooni kasutamine Exceli lehe sisemusest allpool). Kui te ei pane funktsiooni privaatset märksõna funktsiooni ette, on funktsioon automaatselt avalik.

123 Funktsioon TestFunction1 (intA As Integer) TäisarvunaTestFunction1 = intA * 7Lõppfunktsioon

Ülaltoodud funktsioonil on üks argument (intA). Funktsiooni saate luua mitme argumendiga

123 Funktsioon TestFunction2 (intA täisarvuna, intB täisarvuna, intC täisarvuna) täisarvunaTestFunction2 = (intA * intB) + intCLõppfunktsioon

Funktsiooni saate luua ka valikuliste argumentidega. Kui argument on välja jäetud, saate funktsiooni argumendile määrata vaikeväärtuse.

123 Funktsioon TestFunction3 (intA täisarvuna, intB täisarvuna, valikuline intC täisarvuna = 10) täisarvunaTestFunction3 = (intA * intB) + intCLõppfunktsioon

Funktsiooni kasutamine Exceli lehelt

Teie loodud funktsioonid kuvatakse vaikimisi teie funktsioonide loendis funktsioonide loendi jaotises Kasutaja määratud.

Klõpsake fx dialoogiboksi Funktsiooni lisamine kuvamiseks.

Valige Kasutaja määratud kategooriate loendist

Valige soovitud funktsioon olemasolevate hulgast Kasutaja määratud funktsioonid.

Teise võimalusena, kui hakkate oma funktsiooni Excelisse kirjutama, peaks funktsioon ilmuma funktsioonide ripploendisse.

Funktsioonide salvestamine Exceli failiga

Kuna funktsioonid on kirjutatud VBA -koodis, on arusaadav, et kood peab olema töövihikule kättesaadav, et seda saaks Exceli lehel kasutada. Saate oma funktsioonid salvestada töövihikusse, milles neid kasutate, või salvestada need oma isikliku makro töövihikusse. Teie isikliku makro töövihik on peidetud fail, mis on saadaval alati, kui Excel on avatud, ja on seega saadaval igale Exceli töövihikule. Tavaliselt luuakse see siis, kui salvestate makro ja valite makro isiklikku makro töövihikusse salvestamise suvandi.

Kui soovite oma funktsioone töövihikusse salvestada, peate töötama selle eest, et töövihiku salvestamisel salvestataks seeMakrofunktsiooniga töövihik'Või an xlsm faili.

wave wave wave wave wave