Skep jou eie funksie in excel

Selfs al het Excel baie, miskien honderde ingeboude funksies, soos SUM, VERT.SOEK, skakels, ens. tog sal jy vind dat sodra jy Excel vir meer ingewikkelde take begin gebruik, jy dikwels `n funksie sal benodig wat nie bestaan ​​nie. Moenie bekommerd wees nie, redding is naby. Al wat jy hoef te doen is om self `n funksie te skep.

Trappe

Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 1
1. Skep `n nuwe werkboek of maak die werkboek oop waar jy die nuwe gebruikergedefinieerde funksie (UDF) wil gebruik.
Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 2
2. Maak die Visual Basic Editor oop wat in Microsoft Excel ingebou is, deur na Tools te gaan->makro->Gaan na Visual Basic Editor (of deur Alt+F11 te druk).
Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 3
3. Voeg `n nuwe module by na jou werkboek, deur die knoppie hieronder te druk. Jy kan die UDF in die Werkboek self skep sonder om `n nuwe module by te voeg, maar so is dit nie moontlik om die funksie in `n ander werkblad van dieselfde werkboek te gebruik nie.
Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 4
4. Skep die kopskrif of prototipe van jou funksie. Dit moet die volgende struktuur hê:

openbare funksie "Die naam van die funksie" (param1 As tipe1, param2 As tipe2 ) As terugkeer Tipe Dit kan soveel parameters hê as wat jy dink jy nodig het, en jy kan enige standaard Excel datatipe of objektipes daarvoor gebruik, soos Reeks. Jy kan aan parameters dink as die operateurs waarop jou funksie sal reageer. Byvoorbeeld, as jy SIN(45) invul om die sinus van 45 grade te bereken, is 45 die parameter. Jou funksie se kode sal dan daardie waarde gebruik om die funksie te bereken en die resultaat daarvan aan te bied.
Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 5
5. Voeg die kode van die funksie by, maak seker dat jy 1) die waardes van die parameters gebruik; 2) ken die resultaat toe aan die naam van die funksie; en 3) verlaat die funksie met `eindfunksie`.Om te leer programmeer, hetsy in VBA of enige ander programmeertaal neem tyd en meer gedetailleerde en omvattende inligting. Maar sommige funksies bestaan ​​uit klein blokkies kode en gebruik slegs `n klein deel van `n programmeertaal. Die nuttigste elemente van VBA is:
  • Dit as-blok, wat `n deel van die kode uitvoer wanneer `n voorwaarde nagekom word. Byvoorbeeld:


    Publieke Funksie Kursusuitslag (graad As Heelgetal) As String
    indien graad >= 5 Toe
    KursusResultaat = "Goedgekeur"
    Anders
    KursusResultaat = "verwerp"
    Eindig As
    Eindig funksie


    Gee aandag aan die dele van a as-kode blok: IF toestand DAN kode ANDERS kode EINDE IF. Die toestand Anders en die tweede deel van die kode is opsioneel.
  • Dit Doen-blok, wat `n deel van die kode uitvoer solank as (terwyl) of tot (tot) `n sekere voorwaarde nagekom word. Byvoorbeeld:

    Openbare funksie IsPrime(waarde As Heelgetal) As Booles
    Dim i As heelgetal
    ek = 2
    IsPrime = Waar
    Doen
    As waarde / i = Int(waarde / i) Dan
    IsPrime = Onwaar
    Eindig As
    i = i + 1
    Loop Terwyl i < waarde En IsPrime = Waar
    Eindig funksie


    Let weer op die dele: DOEN kode LOOP TERWYL/TOT toestand. Let ook op die tweede reël waar die veranderlike verklaar word. Jy kan veranderlikes aan jou kode toewys om later te gebruik. Veranderlikes tree op as tydelike waardes binne die kode. En laastens, let op die verklaring van die funksie as `n BOOLEAN, `n datatipe wat slegs WAAR of ONWAAR kan wees (waar of onwaar). Hierdie metode om te bepaal of `n getal priemgetal is, is ver van optimaal, maar dit is geskryf om die kode makliker te lees.
  • Dit vir-blok, waarmee jy `n aantal kere `n deel van die kode uitvoer. Byvoorbeeld:

    Publieke funksie faktoriaal (waarde as heelgetal) so lank
    Dowwe resultaat As Long
    Dim i As heelgetal
    As waarde = 0 Dan
    resultaat = 1
    ElseIf waarde = 1 Toe
    resultaat = 1
    Anders
    resultaat = 1
    Vir i = 1 Om waarde
    resultaat = resultaat * i
    Volgende
    Eindig As
    Faktoriaal = resultaat
    Eindig funksie


    Weereens, let op die verskillende dele:VIR veranderlike = onderste limiet NA boonste limiet kode VOLGENDE. Let ook op die nuwe Anders as deel in die as-stelling, wat jou toelaat om meer opsies by die kode te voeg om te hardloop. Ten slotte, let op die verklaring van die funksie en die veranderlike "resultaat" as long. Dit long-datatipe laat waardes toe wat baie groter is as a Heelgetal.

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

    =NumberToLetters(A4)

    Jy kan ook die tuisgemaakte formule kies deur dit in die kategorie op te soek Gebruiker gedefinieerd in die Insert Function Wizard. Klik net op die knoppie fx aan die linkerkant van die formulebalk.Die parameters kan van drie tipes wees:
  • Konstante waardes word direk in selformule getik. Strings moet in hierdie geval tussen aanhalingstekens ingesluit word.
  • Selverwysings soos B6 of bereik, soos A1:C3 (die parameter moet van datatipe wees reeks is)
  • Ander funksies wat binne jou funksie genoem word (jou funksie self kan ook binne ander funksies genoem word). Byvoorbeeld: =Factor(MAX(D6:D8))
    Prent getiteld Skep `n gebruikergedefinieerde funksie in Microsoft Excel Stap 7
    7. Kontroleer die resultaat deur die funksie verskeie kere toe te pas om seker te maak dat die waardes in die parameters korrek toegepas word:

    Wenke

  • Wanneer `n blok kode binne `n beheerboom gebruik word, soos If, For, Do, ens., maak seker dat jy die blok inkeep met `n paar spasies of die Tab-knoppie (inkeepstyl is aan jou). Dit maak die kode makliker om te verstaan, en baie makliker om te ontfout en verbeterings aan te bring.
  • As jy nie weet hoe om die kode vir `n funksie te skryf nie, lees die artikel Skryf `n eenvoudige makro in Excel.
  • Soms is nie alle parameters nodig om die resultaat van `n funksie te bereken nie. In daardie geval kan jy die sleutelwoord gebruik Opsioneel plaas voor die naam van die parameter in die kop van die funksie. Jy kan die funksie gebruik Ontbreek (parameternaam) binne die kode om te bepaal of `n parameter aan `n waarde toegeken is of nie.
  • Gebruik `n naam wat nog nie voorheen in Excel gebruik is om `n funksienaam te definieer nie, anders sal jy uiteindelik net een van die funksies gebruik.
  • Excel het baie ingeboude funksies en die meeste berekeninge kan gedoen word deur dit afsonderlik of in kombinasie te gebruik. Voordat jy jou eie funksies begin kodeer, gaan deur die lys beskikbare funksies. Die ingeboude funksies kan vinniger wees.
  • Waarskuwings

    • Om sekuriteitsredes 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 vol vertroue kan wees dat dit nie hul rekenaars sal beskadig nie.
    • Die kenmerke in hierdie artikel is geensins die beste manier om verwante probleme op te los nie. Hulle is slegs bedoel om die gebruik van die taal se kontroles te demonstreer.
    • Soos enige ander programmeertaal, het VBA tonne kontroles anders as Doen, As en Vir. Genoemde word slegs hier verduidelik om te verduidelik watter moontlikhede daar binne die bronkode van die funksie is. Daar is baie tutoriale aanlyn om VBA te leer.

    Оцените, пожалуйста статью