Creați o funcție personalizată în Microsoft Excel

Chiar dacă Excel are multe, probabil sute, funcții încorporate cum ar fi SUM, VLOOKUP, LEFT etc., veți găsi adesea că aveți nevoie de o caracteristică care nu există atunci când utilizați Excel pentru sarcini mai complicate. Nu vă faceți griji, nu vă pierdeți, trebuie să vă creați singuri o funcție.

metodă

Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 1
1
Creați o foaie de lucru nouă sau deschideți o pagină existentă în care doriți să utilizați noua funcție personalizată.
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 2
    2
    Deschideți Editorul Visual Basic, care este integrat cu Microsoft Excel, accesând Tools> Macro> Visual Basic Editor sau apăsând Alt + F11.
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 3
    3
    Adăugați un nou modul în foaia dvs. de lucru făcând clic pe butonul afișat. Puteți crea o funcție personalizată în foaia de lucru fără a adăuga un nou modul, dar atunci nu veți putea utiliza această funcție în alte foi de lucru.
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 4
    4


    Creați "antetul" sau "prototipul" funcției. Acesta trebuie să aibă următoarea structură: funcția publică "Numele funcției dvs." (param1 Ca tip1, param2 Ca type2) Ca tip retur. Acesta poate avea câți parametri doriți și poate fi unul din tipurile de date sau de obiecte de bază din Excel. Vă puteți gândi la parametri ca la "operanzii" cu care funcționează funcția. Dacă, de exemplu, Indicați SIN (45) pentru a calcula sinusul unui unghi de 45 de grade, 45 ca parametru. Codul funcției dvs. va utiliza valoarea respectivă pentru a calcula altceva și pentru a prezenta rezultatul.
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 5
    5
    Adăugați codul la funcție și asigurați-vă că 1) utilizați valorile furnizate de parametri, 2) atribuiți rezultatul la numele funcției și 3) închideți funcția cu "funcția de capăt".Învățarea de a programa în VBA sau în orice altă limbă poate dura ceva timp și instrucțiuni detaliate. Cu toate acestea, funcțiile au blocuri mici de cod și utilizează foarte puține caracteristici ale unei limbi. Elementele mai utile ale VBA sunt:
    1. dacă-Blocarea cu care puteți executa o parte din cod numai dacă este îndeplinită o condiție. exemplu:


      Rezultatul cursului funcției publice (grad ca întreg) ca șir
      Dacă gradul> = 5 Apoi
      CourseResult = "Aprobat"
      altfel
      CourseResult = "Respins"
      Sfârșit Dacă
      Terminați funcția


      Observați elementele dintr-un singur element dacă-bloc de cod: Dacã condiția IF THEN codul codul ELSE END IF. Cuvântul cheie altfel este opțională împreună cu a doua parte a codului.
    2. face-Blocul, care execută o parte a codului, în timp ce (WHILE) sau la (UNTIL) o condiție este îndeplinită. exemplu:

      Funcția publică IsPrime (valoare ca întreg) Ca boolean
      Dim i ca intreg
      i = 2
      IsPrime = Adevărat
      face
      Dacă valoarea / i = int (value / i) Apoi
      IsPrime = False
      Sfârșit Dacă
      i = i + 1
      Buclă În timp ce i < value And IsPrime = True
      Terminați funcția


      De asemenea, rețineți elementele de aici: Faceți cod LOOP WHILE / UNTIL. De asemenea, rețineți a doua linie în care o variabilă este "declarată". Puteți adăuga variabile în codul dvs. pentru a le putea utiliza mai târziu. Variabilele funcționează ca valori temporare în cod. În cele din urmă, notați declarația funcției BOOLEAN - acesta este un tip de date care permite doar valorile TRUE (true) și FALSE (false). Această metodă de a determina dacă un număr este un număr prime este departe de a fi optim, dar l-am lăsat în acest fel pentru a face codul mai ușor de citit.
    3. pentru-bloc, care execută o parte din cod de un anumit număr de ori. exemplu:

      Factorul funcției publice (valoare ca întreg) cât timp
      Dim rezultatul este lung
      Dim i ca intreg
      Dacă valoarea = 0 atunci
      rezultat = 1
      Valoare ElseIf = 1 Apoi
      rezultat = 1
      altfel
      rezultat = 1
      Pentru i = 1 Pentru valoare
      rezultat = rezultat * i
      următor
      Sfârșit Dacă
      Factorial = rezultat
      Terminați funcția


      Rețineți din nou elementele: PENTRU Variabila = limita inferioara LA limita superioara Cod NEXT. De asemenea, rețineți elementul adăugat elseif în dacă-Declarație care vă permite să adăugați mai multe opțiuni la codul care se execută. În cele din urmă, observați declarația funcției și variabila "rezultat" ca fiind lung. Tipul de date lung permite valori mult mai mari decât întreg.

      Mai jos este codul pentru o funcție care convertește numerele mici în cuvinte.
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 6
    6
    Reveniți la foaia dvs. de lucru și utilizați funcția introducând o celulă cu semnul egal (=) începeți cu numele funcției dvs. Așezați un bracket de deschidere cu el virgule parametrii separați și o bandă de închidere finală. exemplu:

    = NumberToLetters (A4)

    De asemenea, puteți utiliza formula personalizată, căutând-o în categoria Personalizată în expertul Insert Formula. Doar faceți clic pe Fx Butonul din stânga formula barului. Acești parametri pot avea trei tipuri:
    1. Valori constante care sunt introduse direct în formula din celulă. În acest caz, trebuie să se citeze șiruri.
    2. Referințele de celule cum ar fi B6 sau referințe la o zonă precum A1: C3 (parametrul trebuie să fie tipul de date gamă au).
    3. Alte funcții imbricate în cadrul funcției (funcția dvs. poate fi de asemenea imbricată în cadrul altor funcții, de ex. Factorial = (MAX (D6: D8)).
  • Imaginea intitulată Crearea unei funcții definite de utilizator în Microsoft Excel Pasul 7
    7
    Asigurați-vă că rezultatul este OK după ce ați utilizat funcția de mai multe ori pentru a vă asigura că manipulează corect valori diferite pentru parametri.
  • Sfaturi

    • Dacă scrieți un bloc de cod într-o structură de control, cum ar fi Dacă, Pentru, Do, etc., asigurați-vă că ați indentat blocul cu câteva spații sau o filă (tipul de indentare depinde de dvs.). Deci, codul dvs. este mai ușor de înțeles, iar depanarea și îmbunătățirea codului vor fi mult mai ușoare.
    • Dacă nu știți cum să scrieți codul pentru o funcție, citiți Scriefli macro-uri simple în Microsoft Excel.
    • Uneori este posibil ca o funcție să nu aibă nevoie de toți parametrii pentru a calcula un rezultat. În acest caz, puteți utiliza cuvântul cheie facultativ înainte de numele parametrului din antetul funcției. Puteți face această funcție IsMissing (parameter_name) în cod pentru a determina dacă parametrului i sa atribuit o valoare sau nu.
    • Utilizați un nume care nu a fost deja definit ca un nume pentru o funcție în Excel, altfel puteți utiliza doar una dintre funcții.
    • Excel are multe funcții încorporate, iar cele mai multe calcule pot fi făcute utilizând (fie singure, fie în combinație). Asigurați-vă că vă uitați la lista de funcții disponibile înainte de a începe să vă programați propria. Execuția poate fi mai rapidă dacă utilizați funcțiile încorporate.

    avertismente

    • Datorită măsurilor de securitate, unii oameni pot dezactiva macrocomenzile. Asigurați-vă că îi informați pe colegii dvs. că foaia de calcul pe care o trimiteți conține macrocomenzi și că acestea pot avea încredere în ele și că computerele lor nu vor fi afectate.
    • Caracteristicile utilizate în acest articol nu sunt în niciun caz cea mai bună cale de a rezolva problemele lor. Ele au fost folosite aici doar pentru a explica utilizarea structurilor de control ale limbii.
    • Ca orice altă limbă, VBA are mai multe structuri de control, cu excepția Do, Dacă și For. Acestea au fost explicate aici doar pentru a clarifica ce se poate face în codul sursă al unei funcții. Există mai multe ghiduri pe internet unde puteți afla VBA.
    Distribuiți pe rețelele sociale:

    înrudit