Hoe om 'n gebruikersgedefinieerde funksie in Microsoft Excel te skep

INHOUDSOPGAWE:

Hoe om 'n gebruikersgedefinieerde funksie in Microsoft Excel te skep
Hoe om 'n gebruikersgedefinieerde funksie in Microsoft Excel te skep

Video: Hoe om 'n gebruikersgedefinieerde funksie in Microsoft Excel te skep

Video: Hoe om 'n gebruikersgedefinieerde funksie in Microsoft Excel te skep
Video: Kleuters op familiefeest 😂 2024, Mei
Anonim

Microsoft Excel het baie ingeboude funksies, soos SOM, VLOOKUP en LEFT. As u Excel vir meer ingewikkelde take begin gebruik, sal u moontlik agterkom dat u 'n funksie benodig wat nie bestaan nie. Dit is waar persoonlike funksies inkom! Hierdie wikiHow leer u hoe u u eie funksies in Microsoft Excel kan skep.

Stappe

259250 1
259250 1

Stap 1. Maak 'n Excel -werkboek oop

Dubbelklik op die werkboek waarin u die pasgemaakte funksie wil gebruik om dit in Excel oop te maak.

259250 2
259250 2

Stap 2. Druk Alt+F11 (Windows) of Fn+⌥ Opt+F11 (Mac).

Dit maak die Visual Basic Editor oop.

259250 3
259250 3

Stap 3. Klik op die Invoeg -kieslys en kies Nuwe module

Dit maak 'n modulevenster oop in die regter paneel van die redakteur.

U kan die deur die gebruiker gedefinieerde funksie in die werkblad self skep sonder om 'n nuwe module by te voeg, maar u kan nie die funksie in ander werkblaaie van dieselfde werkboek gebruik nie

259250 4
259250 4

Stap 4. Skep die kop van u funksie

Die eerste reël is waar u die funksie 'n naam sal gee en ons reeks sal definieer. Vervang "FunctionName" met die naam wat u u persoonlike funksie wil toewys. Die funksie kan soveel parameters hê as wat u wil, en hul tipes kan een van Excel se basiese data of voorwerptipes wees as Range:

Funksie Funksie Naam (param1 As tipe1, param2 As tipe2) As opgawe Tipe

U beskou parameters moontlik as die 'operande' waarop u funksie sal werk. Byvoorbeeld, as u SIN (45) gebruik om die sinus van 45 grade te bereken, word 45 as 'n parameter geneem. Dan gebruik die kode van u funksie die waarde om iets anders te bereken en die resultaat voor te stel

259250 5
259250 5

Stap 5. Voeg die kode van die funksie by

Maak seker dat u die waardes van die parameters gebruik, die resultaat aan die naam van die funksie toewys en die funksie sluit met "Eindfunksie". Om te leer om in VBA of in enige ander taal te programmeer, kan 'n rukkie neem en 'n gedetailleerde handleiding. Funksies het egter gewoonlik klein kodeblokke en gebruik baie min kenmerke van die taal. 'N Paar nuttige elemente is:

  • Die If -blok, waarmee u slegs 'n deel van die kode kan uitvoer as aan 'n voorwaarde voldoen word. Let op die elemente in 'n If -kodeblok: AS -toestand DAN kode ELSE -kode EINDE IF. Die ander sleutelwoord saam met die tweede deel van die kode is opsioneel:

    Funksie Kursusresultaat (graad as heelgetal) As string As graad> = 5 Dan CourseResult = "Goedgekeur" Anders CourseResult = "Verwerp" Einde as eindfunksie

  • Die Do -blok, wat 'n deel van die kode uitvoer terwyl 'n voorwaarde nagekom word. Let in die onderstaande voorbeeldkode op die elemente DO code LOOP WHILE/TOT TOESTAND. Let ook op die tweede reël waarin 'n veranderlike verklaar word. U kan veranderlikes by u kode voeg sodat u dit later kan gebruik. Veranderlikes tree op as tydelike waardes binne die kode. Let ten slotte op die verklaring van die funksie as BOOLEAN, 'n datatipe wat slegs die WARE en ONWAAR waardes toelaat. Hierdie metode om te bepaal of 'n getal priemgetal is, is beslis nie die optimale nie, maar ek het dit so gelaat om die kode makliker te lees.

    Funksie IsPrime (waarde As heelgetal) As Booleaanse dim i As heelgetal i = 2 IsPrime = True Do If value / i = Int (waarde / i) Dan IsPrime = Valse einde As i = i + 1 lus Terwyl i <waarde En IsPrime = Ware eindfunksie

  • Die For -blok voer 'n bepaalde aantal kere 'n deel van die kode uit. In hierdie volgende voorbeeld sien u die elemente VIR veranderlike = onderste limiet TOT boonste limietkode VOLGENDE. U sal ook die bygevoegde ElseIf -element in die If -verklaring sien, waarmee u meer opsies kan byvoeg by die kode wat uitgevoer moet word. Boonop lei die verklaring van die funksie en die veranderlike tot 'Long'. Die lang datatipe laat waardes toe wat veel groter is as heelgetal:

    Openbare funksiefaktoriaal (waarde as heelgetal) so lank dim resultaat so lank dim i as heelgetal as waarde = 0 dan resultaat = 1 ElseIf waarde = 1 dan resultaat = 1 anders resultaat = 1 vir i = 1 tot waarde resultaat = resultaat * i volgende Einde as faktoriaal = resultaat Einde funksie

259250 6
259250 6

Stap 6. Maak die Visual Basic Editor toe

Sodra u u funksie geskep het, sluit die venster om na u werkboek terug te keer. Nou kan u u gebruikersgedefinieerde funksie begin gebruik.

259250 7
259250 7

Stap 7. Voer u funksie in

Klik eers op die sel waarin u die funksie wil invoer. Klik dan op die funksiebalk bo -aan Excel (die een met die fx links) en tik = FUNCTIONNAME () en vervang FUNCTIONNAME met die naam wat u aan u persoonlike funksie toegewys het.

U kan ook u gebruikersgedefinieerde formule vind in die kategorie 'Gebruikergedefinieerd' in die Voeg formule in towenaar-klik net op die fx om die towenaar op te tel.

259250 8
259250 8

Stap 8. Voer die parameters tussen die hakies in

Byvoorbeeld, = NumberToLetters (A4). Die parameters kan van drie tipes wees:

  • Konstante waardes wat direk in die selformule getik word. Snare moet in hierdie geval aangehaal word.
  • Selverwysings soos B6 of reeksverwysings soos A1: C3. Die parameter moet van die datatipe Range wees.
  • Ander funksies wat in u funksie geplaas word. U funksie kan ook in ander funksies geneste word. Voorbeeld: = Factoriaal (MAX (D6: D8)).
259250 9
259250 9

Stap 9. Druk op ↵ Enter of Keer terug om die funksie uit te voer.

Die resultate sal in die geselekteerde sel verskyn.

Video - Deur hierdie diens te gebruik, kan sommige inligting met YouTube gedeel word

Wenke

  • Gebruik 'n naam wat nog nie as 'n funksienaam in Excel gedefinieer is nie, anders kan u slegs een van die funksies gebruik.
  • As u 'n blok kode binne 'n kontrolestruktuur soos If, For, Do, ens skryf, moet u die kodeblok met 'n paar leë spasies of die Tab -sleutel inkruip. Dit maak u kode makliker om te verstaan, en u vind dit baie makliker om foute op te spoor en verbeterings aan te bring.
  • As u nie weet hoe u die kode vir 'n funksie moet skryf nie, sien Hoe om 'n eenvoudige makro in Microsoft Excel te skryf.
  • 'N Funksie benodig moontlik nie al die parameters om 'n resultaat te bereken nie. In daardie geval kan u die sleutelwoord Opsioneel gebruik voor die naam van die parameter in die funksiekop. U kan IsMissing (parameternaam) binne die kode gebruik om te bepaal of die parameter 'n waarde gekry het of nie.
  • Excel het baie ingeboude funksies en die meeste berekeninge kan gedoen word deur dit onafhanklik of in kombinasie te gebruik. Maak seker dat u deur die lys beskikbare funksies gaan voordat u u eie funksies begin kodeer. Die uitvoering kan vinniger wees as u die ingeboude funksies gebruik.

Waarskuwings

  • Die funksies wat in hierdie artikel gebruik word, is geensins die beste manier om die verwante probleme op te los nie. Hulle is hier slegs gebruik om die gebruik van die beheerstrukture van die taal te verduidelik.
  • VBA, soos enige ander taal, het verskeie ander beheerstrukture behalwe Do, If en For. Dit is hier verduidelik net om te verduidelik watter dinge binne die funksie -bronkode gedoen kan word. Daar is baie aanlyn -tutoriale beskikbaar waar u VBA kan leer.
  • Weens veiligheidsmaatreëls kan sommige mense makro's deaktiveer. Maak seker dat u u kollegas laat weet dat die boek wat u aan hulle stuur makro's het en dat hulle kan vertrou dat hulle nie hul rekenaars sal beskadig nie.

Aanbeveel: