Cum se creează funcții definite de utilizator în Microsoft Excel

Cuprins:

Cum se creează funcții definite de utilizator în Microsoft Excel
Cum se creează funcții definite de utilizator în Microsoft Excel

Video: Cum se creează funcții definite de utilizator în Microsoft Excel

Video: Cum se creează funcții definite de utilizator în Microsoft Excel
Video: I Survived 100 Days as an ENGINEER in CREATE MOD Minecraft Hardcore! 2024, Noiembrie
Anonim

Deși Excel are deja sute de funcții încorporate, cum ar fi SUM, VLOOKUP, LEFT și așa mai departe, funcțiile încorporate disponibile nu sunt de obicei suficiente pentru a îndeplini sarcini destul de complexe. Cu toate acestea, nu vă faceți griji, deoarece trebuie să creați singur funcțiile necesare.

Etapa

Creați o funcție definită de utilizator în Microsoft Excel Pasul 1
Creați o funcție definită de utilizator în Microsoft Excel Pasul 1

Pasul 1. Creați un registru de lucru nou sau deschideți registrul de lucru pe care doriți să-l procesați cu funcțiile definite de utilizator (UDF)

Creați o funcție definită de utilizator în Microsoft Excel Pasul 2
Creați o funcție definită de utilizator în Microsoft Excel Pasul 2

Pasul 2. Deschideți Editorul Visual Basic în Microsoft Excel prin Instrumente-> Macro-> Editorul Visual Basic (sau apăsați comanda rapidă Alt + F11)

Creați o funcție definită de utilizator în Microsoft Excel Pasul 3
Creați o funcție definită de utilizator în Microsoft Excel Pasul 3

Pasul 3. Faceți clic pe butonul Modul pentru a adăuga un nou modul la foaia de lucru

Puteți crea un UDF într-un registru de lucru fără a adăuga un nou modul, dar funcția nu va funcționa în alte foi de lucru din același registru de lucru.

Creați o funcție definită de utilizator în Microsoft Excel Pasul 4
Creați o funcție definită de utilizator în Microsoft Excel Pasul 4

Pasul 4. Creați „capul” sau „prototipul” funcției dvs

Prototipul funcției trebuie să urmeze următoarea structură:

funcție publică "Numele funcției" (parametrul1 Ca tip1, parametru2 Ca tip2) Ca tip de rezultat.

Prototipurile pot avea cât mai multe funcții posibil, iar tipurile lor pot fi toate tipurile de date de bază sau tipurile de obiecte Excel sub formă de Range. Vă puteți gândi la parametri ca „operanți” (operatori) pe care va acționa funcția. De exemplu, când scrieți SIN (45) pentru a calcula sinusul de 45 de grade, numărul 45 va fi luat ca parametru. Apoi, codul funcției va utiliza acele valori pentru a efectua calcule și pentru a afișa rezultatele.

Creați o funcție definită de utilizator în Microsoft Excel Pasul 5
Creați o funcție definită de utilizator în Microsoft Excel Pasul 5

Pasul 5. Adăugați codul funcției pentru a vă asigura că: 1) utilizați valoarea dată de parametru; 2) treceți rezultatul la numele funcției; și 3) închideți funcția cu propoziția "funcție finală" Învățarea programării în VBA sau în orice altă limbă necesită mult timp și îndrumări detaliate. Din fericire, aceste funcții au de obicei blocuri de cod mici și nu folosesc prea mult caracteristicile limbajului de programare. Iată câteva elemente ale limbajului VBA care pot fi utilizate:

  1. Blocul If (if), care vă permite să executați o porțiune de cod numai dacă este îndeplinită condiția. Ca exemplu:
  2. Rezultatul cursului funcției publice (ca valoare de număr întreg) Ca șir

    Dacă valoarea> = 5 Atunci

    Rezultate curs = "Acceptat"

    Altfel

    Rezultate curs = "Respins"

    End If

    Funcția de sfârșit

    Observați elementele din blocul de cod If:

    Condiție IF cod THEN cod ELSE cod FINALIZARE IF

  3. . Puteți omite cuvântul cheie Else împreună cu a doua parte a codului, deoarece este opțional.
  4. Blocul Do (do), care execută o parte din codul While sau Until când sau până când se îndeplinește condiția. Ca exemplu:
  5. Funcția publică BilPrima (valoare ca întreg) Ca boolean

    Dim i Integer

    i = 2

    BilPrima = Adevărat

    Do

    Dacă valoare / i = Int (valoare / i) Atunci

    BilPrima = False

    End If

    i = i + 1

    Buclați în timp ce i <value Și NumberPrima = True

    Funcția de sfârșit

    Uită-te din nou la elementele:

    Codul DO LOOP WHILE / PÂNĂ la starea

  6. . Rețineți și a doua linie care „declară” variabila. Puteți adăuga variabile la codul dvs. pentru o utilizare ulterioară. Variabilele acționează ca valori temporare în cod. În cele din urmă, considerați declarația funcției ca fiind BOOLEAN, care este un tip de date care permite doar valori ADEVĂRATE sau FALSE. Această metodă de determinare a numerelor prime este departe de a fi optimă, dar codul a fost scris în așa fel încât să fie ușor de citit.
  7. Pentru bloc (to), care execută o anumită cantitate de cod. Ca exemplu:
  8. Funcția funcțională publică (valoare ca număr întreg) cât mai lungă

    Diminuează rezultatele atât de lungi

    Dim i Integer

    Dacă valoarea = 0 Atunci

    rezultat = 1

    Valoare ElseIf = 1 Apoi

    rezultat = 1

    Altfel

    rezultat = 1

    Pentru i = 1 A evalua

    rezultat = rezultat * i

    Următorul

    End If

    Factorial = rezultat

    Funcția de sfârșit

    Uită-te din nou la elementele:

    Variabilă = limită inferioară TO limită superioară a codului NEXT

    . De asemenea, rețineți elementul ElseIf suplimentar în instrucțiunea If, care vă permite să adăugați mai multe opțiuni la codul executat. În cele din urmă, luați în considerare funcția „rezultat” și variabila declarată ca Long. Tipul de date Long permite valori mult mai mari decât Integer.

    Mai jos este afișat codul pentru o funcție care convertește numere mici în cuvinte.

    Creați o funcție definită de utilizator în Microsoft Excel Pasul 6
    Creați o funcție definită de utilizator în Microsoft Excel Pasul 6

    Pasul 6. Reveniți la registrul de lucru și utilizați funcția scriind simbolul „egal” (=) urmat de numele funcției din celulă

    Scrieți parantezele de deschidere („(“) după numele funcției, folosind semnul comă pentru a separa parametrii și a se termina cu paranteze de închidere („)”). Ca exemplu:

    = LetterToLetter (A4)

    . De asemenea, puteți utiliza formule de casă căutându-le în categorii Definit de utilizator în interiorul opțiunii Insert Formula. Doar faceți clic pe buton Fx în stânga barei de formule. Există trei tipuri de forme de parametri în funcții:

    1. O valoare constantă care este tastată direct în formula celulei. În acest caz, textul (șirul) trebuie citat.
    2. Referințe celulare, de exemplu B6 sau de genul A1: C3 (parametrul trebuie să fie tipul de date „Range”)
    3. O altă funcție care este inclusă în funcția dvs. (funcția dvs. poate fi inclusă și într-o altă funcție), de exemplu: = Factorial (MAX (D6: D8))

      Creați o funcție definită de utilizator în Microsoft Excel Pasul 7
      Creați o funcție definită de utilizator în Microsoft Excel Pasul 7

      Pasul 7. Asigurați-vă că rezultatele sunt corecte

      Folosiți-l de mai multe ori pentru a vă asigura că funcția este capabilă să gestioneze corect diferite valori ale parametrilor:

      sfaturi

      • Când scrieți blocuri de cod în structuri de control precum If, For, Do etc., asigurați-vă că ați introdus (introduceți marginea stânga ușor în interior) blocul de cod apăsând bara de spațiu de mai multe ori sau tab. Acest lucru va face codul mai ușor de înțeles și erorile vor fi mult mai ușor de găsit. În plus, creșterea funcționalității devine mai ușor de realizat.
      • Dacă nu știți cum să scrieți cod pentru funcții, citiți articolul Cum se scrie un macro simplu în Microsoft Excel.
      • Uneori, funcțiile nu au nevoie de toți parametrii pentru a calcula rezultatul. În acest caz, puteți utiliza cuvântul cheie opțional înainte de numele parametrului din antetul funcției. Puteți utiliza funcția IsMissing (nume_parametru) din codul dvs. pentru a determina dacă unui parametru i se atribuie o valoare sau nu.
      • Utilizați numele neutilizate ca funcții în Excel, astfel încât să nu fie suprascrise și șterse funcții.
      • Excel are multe funcții încorporate și majoritatea calculelor pot fi efectuate folosind aceste funcții încorporate, fie individual, fie simultan. Asigurați-vă că aruncați o privire la lista funcțiilor disponibile înainte de a începe să vă codificați. Executarea se poate face mai repede dacă utilizați funcții încorporate.

      Avertizare

      • Din motive de securitate, mulți oameni dezactivează macrocomenzile. Asigurați-vă că anunțați destinatarii registrului de lucru că registrul de lucru trimis are macrocomenzi și că aceste macrocomenzi nu le vor afecta computerele.
      • Funcția utilizată în acest articol nu este cel mai bun mod de a rezolva problema aferentă. Exemplul este folosit pentru a explica utilizarea structurilor de control al limbajului.
      • VBA, ca și alte limbi, are alte câteva structuri de control în afară de Do, If și For. Structura discutată aici descrie doar ce se poate face în codul sursă al funcției. Există multe ghiduri pe internet care pot fi folosite pentru a vă ajuta să învățați VBA.

Recomandat: