Skep `n persoonlike funksie in Excel

Ook al het Excel baie, miskien wel honderde ingeboude funksies, soos som, VERT.ZOEKEN, LINKS, ens. Tog sal jy agterkom dat jy, as jy eenmaal Excel vir meer ingewikkelde take gaan gebruik, jy dikwels `n funksie nodig sal hê wat nie bestaan. Moenie bekommerd wees nie, want die redding is naby. Al wat jy hoef te doen is om self `n funksie te maak.

stappe

Prent getiteld Skep `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 1
1
Skep `n nuwe werkboek of open die werkboek waarin u die nuwe gebruikerdefinisie-funksie (UDF) wil gebruik.
  • Prent getiteld Maak `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 2
    2
    Maak die Visual Basic Editor oop wat in Microsoft Excel gebou is, deur middel van gereedskap->makro->Visual Basic Editor (of deur Alt + F11 te druk).
  • Prent getiteld Skep `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 3
    3
    Voeg `n nuwe module by na jou werkboek deur die onderstaande knoppie te druk. U kan die UDF in die Werkboek self skep sonder om `n nuwe module by te voeg, maar dit is nie moontlik om die funksie in `n ander werkblad uit dieselfde werkboek te gebruik nie.
  • Prent getiteld Skep `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 4
    4
    Skep die koptekst of prototipe van u funksie. Dit behoort die volgende struktuur te hê:

    openbare funksie "Die naam van die funksie" (param1 As type1, param2 As tipe2) As terugkeer TipeDit kan soveel parameters as wat jy dink nodig het, en jy kan enige standaard data tipe of objek tipes van Excel gebruik, soos Range. U kan parameters oorweeg as die operateurs wat u funksie sal reageer. Byvoorbeeld, as jy SIN (45) invoer om die sinus van 45 grade te bereken, dan is 45 die parameter. Die kode van u funksie sal dan die waarde gebruik om die funksie te bereken en die resultaat aan te bied.


  • Prent getiteld Skep `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 5
    5
    Voeg die kode van die funksie toe en maak seker dat jy 1) die waardes van die parameters gebruikt- 2) die resultaat toewys aan die naam van die functie- en 3) die funksie afsluit met `end function`.Leer om te program, hetsy in VBA of `n ander programmeertaal, vereis tyd en meer gedetailleerde en omvattende inligting. Maar sommige funksies bestaan ​​uit klein blokke kode en gebruik slegs `n klein deel van `n programmeertaal. Die mees bruikbare elemente van VBA is:
  • die if-blok, waarmee u `n deel van die kode uitvoer wanneer `n voorwaarde nagekom word. Byvoorbeeld:


    Publieke Funksie Kursus Uitslag (As Ash)
    As graad >= 5 dan
    CourseResult = "approved"
    else
    CourseResult = "rejected"
    Einde As
    Einde Funksie


    Let op die dele van a if-kode blok: Indien voorwaarde, dan kode ELKE kode EIND INDIEN. Die toestand else en die tweede deel van die kode is opsioneel.
  • die do-blok, wat deel van die kode uitvoer solank as wat (while) of tot (until) `n sekere voorwaarde is nagekom. Byvoorbeeld:

    Openbare Funksie IsPrime (waarde as integer) as Boolees
    Dim ek as geheel
    i = 2
    IsPrime = True
    do
    As waarde / i = Int (waarde / i) Dan
    IsPrime = Onwaar
    Einde As
    i = i + 1
    Loop terwyl ek < waarde en IsPrime = Waar
    Einde Funksie


    Gee aandag aan die dele: Doen kode LOOP TOT / TOT VOORWAAR. Let ook op die tweede reël waarin die verklaring van die veranderlike plaasvind. U kan veranderlikes aan u kode toewys vir latere gebruik. Veranderlikes tree op as tydelike waardes binne die kode. En as laaste: let op die verklaring van die funksie as `n boolean, `n datatype dat alleen maar TRUE of FALSE kan wees (waar of nie waar). Hierdie metode om te bepaal of `n nommer `n priemgetal is, is ver van optimaal, maar is geskryf om die kode makliker te lees.
  • die for-blok, waarmee jy `n paar keer deel van die kode uitoefen. Byvoorbeeld:

    Publieke Funksiefaktorium so lank
    Dim resultaat so lank
    Dim ek as geheel
    As waarde = 0 dan
    resultaat = 1
    ElseIf waarde = 1 Dan
    resultaat = 1
    else
    resultaat = 1
    Vir i = 1 Om te waardeer
    resultaat = resultaat * i
    Next
    Einde As
    Faktoriese = resultaat
    Einde Funksie


    Gee aandag aan die verskillende dele:VIR veranderlike = ondergrens na boonste limietkode NEXT. Let ook op die nuwe ElseIf deel in die if-stelling, waarmee u meer opsies kan byvoeg aan die kode wat uitgevoer moet word. Uiteindelik, let op die verklaring van die funksie en die veranderlike "result" as long. die long-Datatipe laat waardes toe wat baie groter is as dié van een integer.

    Hieronder is die kode vir `n funksie wat klein getalle omskep in woorde.
  • Prent getiteld Skep `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 6
    6
    Keer terug na jou werkboek en gebruik hierdie funksie deur die inhoud van `n sel met een te begin is gelyk-teken, gevolg deur die naam van jou posisie. Plaas `n opening haak agter die naam van die funksie, skei die parameters komma`s en dan `n sluiting haak. Byvoorbeeld:

    = Getal Toetreders (A4)

    U kan ook die tuisgemaakte formule kies deur dit in die kategorie op te soek Gebruiker gedefinieër in die Wizard Invoeg funksie. Klik net op die knoppie fx aan die linkerkant van die formulebalk. Die parameters kan uit drie soorte bestaan:
  • Konstante waardes word direk in selformule getik. In hierdie geval moet snare in aanhalingstekens ingevul word.
  • Selverwysings soos B6 of bereik, soos A1: C3 (die parameter moet van die datatipe wees range wees)
  • Ander funksies wat in u funksie opgeroep word (u funksie kan ook binne ander funksies herroep word). Byvoorbeeld: = Faktor (MAX (D6: D8))
  • Prent getiteld Maak `n gebruiker gedefinieerde funksie in Microsoft Excel Stap 7
    7
    Gaan die resultaat deur die funksie verskeie kere te gebruik om te verseker dat die waardes in die parameters korrek toegepas word:
  • wenke

    • Wanneer jy `n codeblok gebruik binne `n besturingsstructuur, soos If, For, Do, ens, moet jy seker maak dat jy die blok laat insp met behulp van `n paar spasies of die Tab-knoppie (die styl van insp is aan jou). Dit maak die kode makliker om te verstaan, en dit word baie makliker om foute op te spoor en verbeteringe te maak.
    • As jy nie weet hoe om die kode vir `n funksie te skryf nie, lees die artikel Skryf `n maklike makro in Excel.
    • Soms word nie alle parameters benodig om die resultaat van `n funksie te bereken nie. In daardie geval kan u die navraag invoer optional plekke vir die naam van die parameter in die kop van die funksie. U kan die funksie gebruik IsMissing (parameternaam) Gebruik die kode om vas te stel of `n parameter aan `n waarde toegeken is al dan nie.
    • Gebruik `n naam wat nie in Excel gebruik is voordat u `n funksie naam definieer nie, anders sal u uiteindelik slegs een van die twee funksies kan gebruik.
    • Excel het baie ingeboude funksies en die meeste berekeninge kan gedoen word deur dit afsonderlik of in kombinasie te gebruik. Eerstens, hersien die lys beskikbare funksies voordat jy begin om jou eie funksies te koder. Dit is moontlik dat die ingeboude funksies vinniger is.

    waarskuwings

    • Ter wille van veiligheid het gebruikers soms makro`s gedeaktiveer. Maak seker dat jy jou kollegas laat weet dat die werkboek wat jy stuur, makro`s bevat en dat hulle kan vertrou dat dit nie hul rekenaar sal beskadig nie.
    • Die funksies in hierdie artikel is geensins die beste manier om verwante probleme op te los nie. Hulle is slegs bedoel om die gebruik van die beheermaatreëls van die taal te demonstreer.
    • VBA het, net soos enige ander programmeertaal, baie ander kontroles as Do, As en Vir. Hierdie word slegs hier verduidelik om te verduidelik watter moontlikhede daar binne die bronkode van die funksie is. Daar is baie handleidings aanlyn beskikbaar om VBA te leer.
    Deel op sosiale netwerke:

    Verwante