VBA funkciók - Útmutató az egyéni funkciók létrehozásához a VBA segítségével

Tartalomjegyzék

Excel VBA funkciók

Láthattuk, hogy a VBA-ban használhatjuk a munkalapfüggvényeket, azaz az excel munkalap funkcióit a VBA-kódolásban az application.worksheet metódus segítségével, de hogyan használjuk a VBA függvényét az excelben, ezeket a funkciókat nevezzük felhasználó által definiált függvényeknek, amikor a felhasználó létrehoz egy függvényt a VBA-ban, az excel munkalapon is használható.

Bár az excelben számos funkcióval rendelkezünk az adatok manipulálására, néha szükségünk van némi testreszabásra az eszközökben, hogy időt takarítsunk meg, miközben egyes feladatokat ismételten elvégezünk. Előre definiált funkciók vannak az excelben, mint SUM, COUNTIF, SUMIF, COUNTIFS, VLOOKUP, INDEX, MATCH az excelben, stb., De napi szinten elvégzünk néhány feladatot, amelyekhez egyetlen parancs vagy függvény nem áll rendelkezésre az Excelben, majd a VBA, létrehozhatjuk az egyedi függvényt, amelyet User Defined Functions (UDF) néven hívunk.

Mit csinálnak a VBA funkciók?

  • Bizonyos számításokat végeznek; és
  • Adjon vissza egy értéket

A VBA-ban a függvény meghatározása során a következő szintaxist használjuk a paraméterek és azok adattípusának megadására.

Az adattípus itt a változó által tárolt adatok típusa. Bármely értéket tartalmazhat (bármely adattípus vagy bármely osztály objektuma).

Az objektumot a tulajdonságával vagy módszerével összekapcsolhatjuk a pont vagy a pont (.) Szimbólum használatával.

Hogyan hozhatunk létre egyedi funkciókat a VBA segítségével?

Példa

Tegyük fel, hogy a következő adatokkal rendelkezünk egy olyan iskolától, ahol meg kell találnunk a tanuló által elért összes pontszámot, az eredményt és az osztályzatot.

Az összes tanuló által megszerzett pontszámok összesítéséhez beépített funkciónk van, azaz SUM, de az osztály és az eredmény megismerése az iskola által meghatározott kritériumok alapján alapértelmezés szerint nem áll rendelkezésre az Excel programban .

Ezért kell létrehoznunk a felhasználó által definiált függvényeket.

1. lépés: Keresse meg az összes jelet

Először a SUM függvény segítségével fogjuk megtalálni az összes jelet az excelben.

Az eredmény eléréséhez nyomja meg az Enter billentyűt.

Húzza a képletet a többi cellába.

Most, hogy megtudja az eredményt (sikeres, sikertelen vagy elengedhetetlen ismétlés), az iskola által meghatározott kritériumok.

  • Ha a hallgató 200-nál nagyobb vagy egyenlő pontszámot kapott az összesített pontszám közül az 500-ból, és a hallgató szintén nem bukott meg egyetlen tantárgyból sem (minden tantárgyból több mint 32-et ért el), akkor a hallgató átmegy,
  • Ha a hallgató több mint 200 pontszámot ért el, de 1 vagy 2 tantárgyból kudarcot vallott, akkor a hallgató „Alapvető ismétlést” kapott ezekben a tantárgyakban,
  • Ha a hallgató 200-nál kevesebbet ért el, vagy 3 vagy több tantárgyból megbukott, akkor a hallgató bukott.
2. lépés: Hozzon létre ResultOfStudent függvényt

A „ResultOfStudent” nevű függvény létrehozásához meg kell nyitnunk a „Visual Basic Editor” alkalmazást az alábbi módszerek bármelyikével:

  • A Fejlesztő fül használatával excel.

Ha a Fejlesztő fül nem érhető el az MS Excel alkalmazásban, akkor ezt a következő lépésekkel kaphatjuk meg:

  • Kattintson a jobb gombbal a szalag bármely pontjára, majd válassza a A szalag testreszabása az excelben lehetőséget .

Amikor ezt a parancsot választjuk, megnyílik az „Excel beállítások” párbeszédpanel.

  • A fül megszerzéséhez be kell jelölnünk a „Fejlesztő” jelölőnégyzetet.
  • A gyorsbillentyű, pl. Alt + F11 használatával.
  • Amikor megnyitjuk a VBA szerkesztőt, be kell illesztenünk a modult úgy, hogy belépünk a Beszúrás menübe, és kiválasztunk egy modult.
  • Be kell illesztenünk a következő kódot a modulba.
Funkció ResultOfStudents (Jelölés tartományként) Karakterláncként Dim mycell As Range Dim Total Integer Dim CountOfFailedSubject Integer for my mycell In Marks Total = Total + mycell.Value If mycell.Value = 200 And CountOfFailedSubject 0 then ResultOfStudents = "Essential Repeat" ElseIf Összesen> = 200 És CountOfFailedSubject = 0 Akkor ResultOfStudents = "Sikeres" Egyéb ResultOfStudents = "Sikertelen" Vége, ha Vége Funkció

A fenti függvény visszaadja az eredményt egy hallgató számára.

Meg kell értenünk, hogyan működik ez a kód.

Az első utasítás, a „Function ResultOfStudents (Marks As Range) as String” deklarálja a „ResultOfStudents” nevű függvényt , amely elfogad egy tartományt a jelek bevitelére és az eredményt stringként adja vissza.

Dim mycell As Range Dim Total As Integer Dim CountOfFailedSubject As Integer

Ez a három állítás deklarálja a változókat, azaz

  • „myCell” mint tartomány,
  • „Összesen” egész számként (a hallgató által megszerzett összes pontszám tárolására),
  • A 'CountOfFailedSubject' egész számként (azon tantárgyak számának tárolásához, amelyekben egy diák megbukott).
Minden egyes mycell értékre jelezve Összesen = Összesen + mycell.Value Ha mycell.Value <33 Akkor CountOfFailedSubject = CountOfFailedSubject + 1 End Ha Következő mycell

Ez a kód ellenőrzi a „ Jelek” tartomány minden celláját, és hozzáadja az „ Összes” változó minden cellájának értékét , és ha a cella értéke kisebb, mint 33, akkor hozzáad 1-et a „CountOfFailedSubject” változóhoz.

Ha Összesen> = 200 És CountOfFailedSubject 0, akkor ResultOfStudents = "Alapvető ismétlés" ElseIf Összesen> = 200 és CountOfFailedSubject = 0, akkor ResultOfStudents = "Átadott" Egyéb ResultOfStudents = "Nem sikerült" Vég

Ez a kód ellenőrzi az „Total” és a „CountOfFailedSubject” értékét, és ennek megfelelően továbbítja az Essential Report”, „Passed” vagy „sikertelen” elemeket a „ResultOfStudents” -nak.

3. lépés: Az ResultOfStudents függvény alkalmazása az eredmény eléréséhez

A ResultOfStudents függvény pontszámot kap, azaz 5 pontot választ ki a hallgató.

Most válassza ki a cellák tartományát, azaz B2: F2.

Húzza a képletet a többi cellába.

4. lépés: A fokozatok megszerzéséhez hozza létre a „GradeForStudent” függvényt

Most, hogy megtudjuk a tanuló osztályzatát, létrehozunk még egy függvényt, amelynek neve a „GradeForStudent”.

The code would be:

Function GradeForStudent(TotalMarks As Integer, Result As String) As String If TotalMarks> 440 And TotalMarks 380 And TotalMarks 320 And TotalMarks 260 And TotalMarks = 200 And TotalMarks <= 260 And (Result = "Passed" Or Result = "Essential Repeat") Then GradeForStudent = "E" ElseIf TotalMarks < 200 Or Result = "Failed" Then GradeForStudent = "F" End If End Function

This function assigns a ‘Grade’ to the student based on the ‘Total Marks’ and ‘Result.’

We just need to write the formula and open the brackets in Cell H2 and pressing Ctrl+Shift+A to find out about the arguments.

A GradeForStudent függvény az Összpontszámot (pontok összege) és a tanuló eredményét veszi fel érvként az osztályzat kiszámításához.

Most válassza ki a megfelelő cellákat, azaz G2, H2.

Most csak a Ctrl + D billentyűkombinációt kell megnyomnunk, miután kijelöltük a cellákat, hogy lemásoljuk a képleteket.

A 33-nál kisebb értékeket kiemelhetjük a piros háttérszínnel, így megtudhatjuk azokat a tantárgyakat, amelyekben a hallgató bukott.

érdekes cikkek...