VBA-toiminnot - Opas mukautettujen toimintojen luomiseen VBA: lla

Sisällysluettelo

Excel VBA -toiminnot

Olemme nähneet, että voimme käyttää laskentataulukon toimintoja VBA: ssa, eli excel-laskentataulukon toimintoja VBA-koodauksessa käyttäen application.worksheet-menetelmää, mutta miten käytämme VBA: n funktiota excelissä, hyvin näitä funktioita kutsutaan käyttäjän määrittelemiksi funktioiksi, kun käyttäjä luo toiminnon VBA: ssa, sitä voidaan käyttää myös Excel-laskentataulukossa.

Vaikka Excelissä on monia toimintoja tietojen manipuloimiseksi, työkaluissa on joskus oltava joitain mukautuksia, jotta voimme säästää aikaa, kun teemme joitain tehtäviä toistuvasti. Meillä on ennalta määriteltyjä toimintoja Excelissä, kuten SUM, COUNTIF, SUMIF, COUNTIFS, VLOOKUP, INDEX, MATCH excelissä jne., Mutta teemme päivittäin joitain tehtäviä, joille yksittäinen komento tai toiminto ei ole käytettävissä Excelissä, sitten käyttämällä VBA, voimme luoda mukautetun toiminnon, jota kutsutaan käyttäjän määrittelemiksi toiminnoiksi (UDF).

Mitä VBA-toiminnot tekevät?

  • He suorittavat tiettyjä laskelmia; ja
  • Palauta arvo

VBA: ssa funktion määrittelyssä käytämme seuraavaa syntaksia parametrien ja niiden tietotyypin määrittämiseksi.

Tietotyyppi tässä on tietotyyppi, jota muuttuja pitää. Se voi sisältää minkä tahansa arvon (minkä tahansa tietotyypin tai minkä tahansa luokan objektin).

Voimme yhdistää kohteen sen ominaisuuteen tai menetelmään käyttämällä piste- tai piste (.) -Symbolia.

Kuinka luoda mukautettuja toimintoja VBA: n avulla?

Esimerkki

Oletetaan, että meillä on seuraavat tiedot koulusta, josta meidän on löydettävä opiskelijan pisteet, tulos ja arvosana.

Yhteenvetona yksittäisen opiskelijan kaikista oppiaineista saamien pisteiden osalta meillä on sisäänrakennettu toiminto, eli SUM, mutta arvosanan ja tuloksen selvittäminen koulun asettamien kriteerien perusteella ei ole oletusarvoisesti Excelissä .

Tästä syystä meidän on luotava käyttäjän määrittelemiä toimintoja.

Vaihe 1: Etsi yhteensä merkit

Ensinnäkin löydämme kokonaispisteet käyttämällä SUM-funktiota excelissä.

Paina Enter saadaksesi tuloksen.

Vedä kaava muihin soluihin.

Nyt saadaksesi selville tuloksen (hyväksytty, epäonnistunut tai olennainen toisto) koulun asettamat kriteerit ovat.

  • Jos opiskelija on saanut vähintään 200 pistettä kokonaispistemäärinä 500: sta ja opiskelija ei myöskään ole epäonnistunut missään oppiaineessa (on saanut yli 32 kussakin aineessa), opiskelija läpäisee,
  • Jos opiskelija on saanut vähintään 200 pistettä, mutta opiskelija epäonnistuu yhdestä tai kahdesta oppiaineesta, niin opiskelija on saanut ”Essential Repeat” -opiskelun näistä aiheista
  • Jos opiskelija on saanut alle 200 pistettä tai epäonnistuu 3 tai useammassa aineessa, opiskelija epäonnistuu.
Vaihe 2: Luo ResultOfStudent-toiminto

ResultOfStudent-nimisen toiminnon luomiseksi meidän on avattava Visual Basic Editor käyttämällä mitä tahansa seuraavista tavoista:

  • Kehittäjä-välilehden avulla excel.

Jos Kehittäjä-välilehti ei ole käytettävissä MS Excelissä, voimme saada sen käyttämällä seuraavia vaiheita:

  • Napsauta hiiren kakkospainikkeella missä tahansa valintanauhassa ja valitse sitten Muokkaa valintanauhaa Excelissä ' .

Kun valitsemme tämän komennon, Excel-asetukset- valintaikkuna avautuu.

  • Meidän on valittava Kehittäjä- ruutu saadaksesi välilehden.
  • Käyttämällä pikanäppäintä, eli Alt + F11.
  • Kun avaat VBA-editorin, meidän on lisättävä moduuli siirtymällä Lisää-valikkoon ja valitsemalla moduuli.
  • Seuraava koodi on liitettävä moduuliin.
Funktio ResultOfStudents (merkinnät alueena) merkkijonona Dim mycell As Range Dim Total kokonaislukuna Dim CountOfFailedSubject kokonaislukuna jokaiselle mycellille Marksissa Yhteensä = Yhteensä + mycell.Value Jos mycell.Value = 200 Ja CountOfFailedSubject 0 Sitten ResultOfStudents = "Essential Repeat" ElseIf Yhteensä> = 200 Ja CountOfFailedSubject = 0 Sitten ResultOfStudents = "Hyväksytty" Muut ResultOfStudents = "Epäonnistuneet" Loppu, jos lopputoiminto

Yllä oleva funktio palauttaa tuloksen opiskelijalle.

Meidän on ymmärrettävä, kuinka tämä koodi toimii.

Ensimmäinen lause 'Function ResultOfStudents (Marks As Range) as String' julistaa toiminnon nimeltä ResultOfStudents , joka hyväksyy alueen merkkien syötteeksi ja palauttaa tuloksen merkkijonona.

Dim mycell As Range Hämärä kokonaislukuna Dim CountOfFailedSubject kokonaislukuna

Nämä kolme lausetta ilmoittavat muuttujat, eli

  • 'myCell' alueena ,
  • 'Kokonaisluku' kokonaislukuna (opiskelijan pisteytettyjen pisteiden tallentamiseksi),
  • 'CountOfFailedSubject' kokonaislukuna (tallentaa niiden aiheiden määrän, joissa opiskelija on epäonnistunut).
Jokaiselle mycell-merkille yhteensä = Yhteensä + mycell.Value Jos mycell.Value <33 Sitten CountOfFailedSubject = CountOfFailedSubject + 1 End Jos Seuraava mycell

Tämä koodi tarkistaa jokaisen solun ' Marks' alueella ja lisää arvon jokaisen solun ' Yhteensä' vaihteleva, ja jos arvo solu on vähemmän kuin 33, lisää sitten 1 on 'CountOfFailedSubject' muuttuja.

Jos yhteensä> = 200 Ja CountOfFailedSubject 0, niin ResultOfStudents = "Essential Repeat" ElseIf Total> = 200 And CountOfFailedSubject = 0 Sitten ResultOfStudents = "Passed" Muut ResultOfStudents = "Failed" End If

Tämä koodi tarkistaa arvoa 'Yhteensä' ja 'CountOfFailedSubject' ja siirtää ' Essential raportti,' 'Hyväksytty' tai 'Failed' mukaan hakemuksen 'ResultOfStudents.'

Vaihe 3: Käytä ResultOfStudents-toimintoa saadaksesi tuloksen

ResultOfStudents-toiminto saa pisteet, ts. Valitaan 5 pisteitä, jotka opiskelija pisteyttää.

Valitse nyt solualue, eli B2: F2.

Vedä kaava muihin soluihin.

Vaihe 4: Luo GradeForStudent-funktio saadaksesi arvosanat

Nyt saadaksesi selville opiskelijan arvosanan, luomme vielä yhden toiminnon nimeltä 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.

GradeForStudent-funktio ottaa kokonaispisteet (pisteiden summa) ja opiskelijan tuloksen argumentiksi arvosanan laskemiseksi.

Valitse nyt vastaavat solut, eli G2, H2.

Nyt meidän on vain painettava Ctrl + D sen jälkeen, kun olemme valinneet solut kaavojen kopioimiseksi.

Voimme korostaa alle 33: n arvot punaisella taustavärillä, jotta saamme selville aineet, joissa opiskelija epäonnistuu.

Mielenkiintoisia artikkeleita...