Kako stvoriti korisnički definirane funkcije u programu Microsoft Excel

Sadržaj:

Kako stvoriti korisnički definirane funkcije u programu Microsoft Excel
Kako stvoriti korisnički definirane funkcije u programu Microsoft Excel

Video: Kako stvoriti korisnički definirane funkcije u programu Microsoft Excel

Video: Kako stvoriti korisnički definirane funkcije u programu Microsoft Excel
Video: Uputstvo za pripremu kamena za zidanje 2024, Decembar
Anonim

Iako Excel već ima stotine ugrađenih funkcija kao što su SUM, VLOOKUP, LEFT itd., Dostupne ugrađene funkcije obično nisu dovoljne za obavljanje prilično složenih zadataka. Međutim, ne brinite jer samo trebate sami stvoriti potrebne funkcije.

Korak

Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 1
Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 1

Korak 1. Kreirajte novu radnu svesku ili otvorite radnu svesku koju želite obraditi pomoću Korisnički definiranih funkcija (UDF)

Kreiranje korisnički definirane funkcije u programu Microsoft Excel 2. korak
Kreiranje korisnički definirane funkcije u programu Microsoft Excel 2. korak

Korak 2. Otvorite Visual Basic Editor u programu Microsoft Excel putem Tools-> Macro-> Visual Basic Editor (ili pritisnite prečicu Alt+F11)

Kreirajte korisnički definiranu funkciju u programu Microsoft Excel Korak 3
Kreirajte korisnički definiranu funkciju u programu Microsoft Excel Korak 3

Korak 3. Pritisnite dugme Modul da biste dodali novi modul na radni list

UDF možete stvoriti u radnoj knjizi bez dodavanja novog modula, ali funkcija neće raditi na drugim radnim listovima u istoj radnoj knjizi.

Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 4
Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 4

Korak 4. Kreirajte "glavu" ili "prototip" svoje funkcije

Prototip funkcije mora slijediti sljedeću strukturu:

javna funkcija "Naziv funkcije" (parametar1 Kao tip1, parametar2 Kao tip2) Kao Tip rezultata.

Prototipovi mogu imati što više funkcija, a njihovi tipovi mogu biti svi osnovni tipovi podataka ili Excel tipovi objekata u obliku raspona. Parametre možete smatrati „operantima“(operatorima) na koje će funkcija djelovati. Na primjer, kada napišete SIN (45) da biste izračunali sinus od 45 stepeni, broj 45 će se uzeti kao parametar. Zatim će kod funkcije koristiti te vrijednosti za izvođenje proračuna i prikaz rezultata.

Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 5
Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 5

Korak 5. Dodajte kod funkcije kako biste bili sigurni da: 1) koristite vrijednost datu parametrom; 2) proslijedi rezultat imenu funkcije; i 3) zatvorite funkciju rečenicom "krajnja funkcija". Učenje programa u VBA -i ili na bilo kojem drugom jeziku oduzima puno vremena i detaljnih uputstava. Na sreću, ove funkcije obično imaju male blokove koda i ne koriste mnogo mogućnosti programskog jezika. Evo nekih elemenata VBA jezika koji se mogu koristiti:

  1. Blok If (if), koji vam omogućuje izvršavanje dijela koda samo ako je uvjet ispunjen. Kao primjer:
  2. Javna funkcija Rezultat kursa (kao vrijednost cijelog broja) Kao niz

    Ako je vrijednost> = 5 Tada

    Rezultati kursa = "Prihvaćeno"

    Inače

    Rezultati kursa = "Odbijeno"

    Kraj Ako

    Završna funkcija

    Obratite pažnju na elemente u if kodu bloka:

    IF uvjet THEN code ELSE code END IF

  3. . Možete izostaviti ključnu riječ Else zajedno s drugim dijelom koda jer nije obavezna.
  4. Blok Do (do), koji izvršava dio koda While ili Until kada ili dok uvjet nije ispunjen. Kao primjer:
  5. Javna funkcija BilPrima (vrijednost kao cijeli broj) Kao Booleova

    Dim i As Integer

    i = 2

    BilPrima = Istina

    Do

    Ako je vrijednost / i = Int (vrijednost / i) Tada

    BilPrima = Netačno

    Kraj Ako

    i = i + 1

    Petlja Dok je <vrijednost And NumberPrima = True

    Završna funkcija

    Pogledajte ponovo elemente:

    UČINITE šifru LOOP WHILE/UNTIL

  6. . Također imajte na umu drugi red koji "deklarira" varijablu. U svoj kôd možete dodati varijable za kasniju upotrebu. Varijable djeluju kao privremene vrijednosti u kodu. Na kraju, smatrajte da je deklaracija funkcije BOOLEAN, što je tip podataka koji dopušta samo TRUE ili FALSE vrijednosti. Ova metoda određivanja prostih brojeva daleko je od optimalne, ali kôd je napisan tako da se lako čita.
  7. Za blok (to), koji izvršava određenu količinu koda. Kao primjer:
  8. Faktor javne funkcije (vrijednost kao cijeli broj) koliko je dugo

    Zatamnite rezultate kao dugo

    Dim i As Integer

    Ako je vrijednost = 0 Tada

    rezultat = 1

    ElseIf value = 1 Zatim

    rezultat = 1

    Inače

    rezultat = 1

    Za i = 1 Za vrijednost

    rezultat = rezultat * i

    Sljedeći

    Kraj Ako

    Faktorijal = rezultat

    Završna funkcija

    Pogledajte ponovo elemente:

    ZA varijablu = donja granica do gornja granica koda SLJEDEĆE

    . Takođe, imajte na umu dodatni element ElseIf u naredbi If, koji vam omogućava da dodate više opcija kodu koji se izvršava. Na kraju, razmislite o funkciji „result“i varijabli deklariranoj kao Long. Tip podataka Long dopušta mnogo veće vrijednosti od Integer.

    Dolje je prikazan kôd funkcije koja pretvara male brojeve u riječi.

    Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 6
    Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 6

    Korak 6. Vratite se u radnu knjigu i koristite funkciju upisujući simbol „jednako“(=) iza kojeg slijedi naziv funkcije u ćeliji

    Upišite zagrade (“(“) nakon naziva funkcije, koristeći znak koma da biste odvojili parametre i završili zatvaranjem zagrada (“)”). Kao primjer:

    = Broj pisma (A4)

    . Možete koristiti i domaće formule tako da ih tražite u kategorijama Definisano od strane korisnika unutar opcije Umetanje formule. Samo kliknite na dugme Fx lijevo od trake s formulama. U funkcijama postoje tri vrste oblika parametara:

    1. Konstantna vrijednost koja se upisuje izravno u formulu ćelije. U ovom slučaju tekst (niz) mora biti naveden pod navodnicima.
    2. Reference ćelija, na primjer B6 ili raspon poput A1: C3 (parametar mora biti tip podataka "Raspon")
    3. Druga funkcija koja je zatvorena u vašoj funkciji (vaša funkcija može biti zatvorena i u drugoj funkciji), na primjer: = faktorska (MAX (D6: D8))

      Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 7
      Kreiranje korisnički definirane funkcije u programu Microsoft Excel Korak 7

      Korak 7. Provjerite jesu li rezultati tačni

      Koristite ga nekoliko puta kako biste bili sigurni da funkcija može ispravno rukovati različitim vrijednostima parametara:

      Savjeti

      • Prilikom pisanja blokova koda u kontrolnim strukturama kao što su If, For, Do itd., Vodite računa da uvučete (ubacite lijevu granicu retka malo unutra) kodni blok pritiskom na razmaknicu nekoliko puta ili tabulatorom. Ovo će olakšati razumijevanje koda, a greške će biti mnogo lakše pronaći. Osim toga, povećanje funkcionalnosti postaje lakše napraviti.
      • Ako ne znate napisati kôd za funkcije, pročitajte članak Kako napisati jednostavan makro u programu Microsoft Excel.
      • Ponekad funkcijama nisu potrebni svi parametri za izračunavanje rezultata. U ovom slučaju možete koristiti ključnu riječ Optional prije naziva parametra u zaglavlju funkcije. Možete koristiti funkciju IsMissing (ime_parametra) u svom kodu da odredite je li parametru dodijeljena vrijednost ili ne.
      • Upotrijebite neiskorištena imena kao funkcije u Excelu kako se nijedna funkcija ne bi prebrisala i izbrisala.
      • Excel ima mnoge ugrađene funkcije i većina proračuna se može izvesti pomoću ovih ugrađenih funkcija, pojedinačno ili sve odjednom. Prije nego počnete sami kodirati, pogledajte popis dostupnih funkcija. Izvršenje se može brže obaviti ako koristite ugrađene funkcije.

      Upozorenje

      • Iz sigurnosnih razloga mnogi ljudi onemogućuju makroe. Obavezno obavijestite primatelje radne knjige da poslana radna knjiga ima makroe i da ti makroi neće naštetiti njihovim računarima.
      • Funkcija korištena u ovom članku nije najbolji način za rješavanje povezanog problema. Primjer se koristi za objašnjenje upotrebe struktura upravljanja jezikom.
      • VBA, kao i drugi jezici, ima još nekoliko kontrolnih struktura osim Do, If i For. Ovdje opisana struktura samo opisuje šta se može učiniti u izvornom kodu funkcije. Na internetu postoji mnogo vodiča koji vam mogu pomoći da naučite VBA.

Preporučuje se: