Kaip sukurti vartotojo apibrėžtą funkciją „Microsoft Excel“

Autorius: Alice Brown
Kūrybos Data: 4 Gegužė 2021
Atnaujinimo Data: 14 Gegužė 2024
Anonim
Excel VBA Intermediate Tutorial - Creating User Defined Functions (UDFs)
Video.: Excel VBA Intermediate Tutorial - Creating User Defined Functions (UDFs)

Turinys

Nors „Excel“ turi daug, tikriausiai šimtus integruotų funkcijų, tokių kaip SUM, VLOOKUP, LEFT ir pan., Pradėdami naudoti „Excel“ sudėtingesnėms užduotims, dažnai pastebite, kad jums reikia funkcijos, kurios nėra. Nesijaudinkite, viskas nėra prarasta; viskas, ko jums reikia, yra sukurti norimą funkciją.

Žingsniai

  1. Sukurkite naują darbaknygę arba atidarykite darbaknygę, kurioje norite naudoti naujai sukurtą vartotojo nustatytą funkciją (FDU).

  2. Atidarykite „Visual Basic“ redaktorių kuris yra įmontuotas „Microsoft Excel“ einant į Tools-> Macro-> Visual Basic Editor (arba paspaudus Alt + F11).

  3. Pridėti naują modulį į savo darbaknygę spustelėdami nurodytą mygtuką. Galite sukurti vartotojo apibrėžtą funkciją pačiame darbalapyje nepridėdami naujo modulio, tačiau tai neleis jos naudoti kituose tos pačios darbaknygės darbalapiuose.

  4. Sukurkite savo funkcijos „antraštę“ arba „prototipą“. Turite turėti tokią struktūrą: viešoji funkcija TheNameOfYourFunction (param1 As type1, param2 As type2) As returnType Parametrų gali būti tiek, kiek norima, ir jų tipas gali būti bet kuris iš pagrindinių duomenų tipų arba „Excel“ objektų tipų, pvz., „Range“. Parametrus galite galvoti apie „operandus“, kuriuos veiks jūsų funkcija. Pvz., Kai sakote SIN (45), kad apskaičiuotumėte 45 laipsnių sinusą, 45 bus laikomas parametru. Tada jūsų funkcijos kodas naudos šią vertę atlikdamas tam tikrą skaičiavimą ir pateikdamas rezultatą.
  5. Pridėkite funkcijos kodą ir įsitikinkite, kad: 1) naudoti parametrų pateiktas reikšmes; 2) priskirti rezultatą funkcijos pavadinimui; ir 3) uždarykite funkciją naudodami „pabaigos funkciją“. Norėdami sužinoti, kaip programuoti VBA ar bet kuria kita kalba, gali prireikti šiek tiek laiko ir reikalauti išsamios pamokos. Tačiau funkcijos dažnai turi mažus kodų blokus ir naudoja mažai kalbos išteklių. Naudingiausi VBA kalbos elementai yra šie:
    1. Blokas Jei, kuris leidžia paleisti kodo dalį tik tuo atveju, jei įvykdoma sąlyga. Pavyzdžiui:


      Viešosios funkcijos kursas Rezultatas (tinklelis kaip sveikas skaičius) kaip eilutė
      Jei pažymys> = 5 Tada
      CourseResult = "Patvirtinta"
      Kitas
      CourseResult = "Atmesta"
      Pabaiga jei
      Pabaigos funkcija

      Atkreipkite dėmesį į elementus kodo bloke Jei: Sąlyga TAD kodas kodas KITAS kodas PABAIGA IF. Raktinis žodis Kitas kartu su antrąja kodo dalimi neprivaloma.
    2. Blokas Apie, kuris vykdo kodo dalį Nors (o) arba Iki (iki) bus įvykdyta sąlyga. Pavyzdžiui:

      Viešoji funkcija „IsPrime“ (reikšmė kaip sveikasis skaičius) kaip loginė reikšmė
      Dim i kaip sveikasis skaičius
      i = 2
      IsPrime = Tiesa
      Apie
      Jei reikšmė / i = Int (reikšmė / i) Tada
      IsPrime = klaidinga
      Pabaiga jei
      i = i + 1
      Loop Nors i <value And IsPrime = True
      Pabaigos funkcija

      Dar kartą pažiūrėkite į elementus: Atlikite kodą LOOP WHOLE / UNILIL. Taip pat atkreipkite dėmesį į antrą eilutę, kur kintamasis yra „deklaruojamas“. Galite pridėti kintamųjų prie savo kodo, kad galėtumėte juos naudoti vėliau. Kintamieji kode veikia kaip laikinos reikšmės. Galiausiai pažvelkite į funkcijos deklaraciją kaip „BOOLEAN“, kuri yra duomenų tipas, leidžiantis tik reikšmes TRUE ir FALSE. Šis metodas nustatyti, ar skaičius yra pagrindinis, nėra idealus, bet aš norėčiau jį palikti, kad būtų lengviau skaityti kodą.
    3. Blokas Dėl, kuris kodo dalį įvykdo nurodytą skaičių kartų. Pavyzdžiui:

      Viešosios funkcijos faktorius (vertė kaip sveikasis skaičius)
      Blankus rezultatas toks ilgas
      Dim i kaip sveikasis skaičius
      Jei reikšmė = 0, tada
      rezultatas = 1
      ElseIf reikšmė = 1 Tada
      rezultatas = 1
      Kitas
      rezultatas = 1
      Už i = 1 Į vertę
      rezultatas = rezultatas * i
      Kitas
      Pabaiga jei
      Faktorinis = rezultatas
      Pabaigos funkcija

      Dar kartą pažiūrėkite į elementus:FOR kintamasis = apatinė viršutinės ribos ribos kodas NEXT. Taip pat atkreipkite dėmesį į elementą Kitu atveju pridėta pareiškime Jei, leidžiančią pridėti daugiau vykdomojo kodo parinkčių. Galiausiai pažvelk į funkcijos deklaraciją ir į „result“ kintamąjį kaip Ilgas. Duomenų tipas Ilgas leidžia daug didesnes vertes nei „Sveikasis skaičius“.

      Žemiau pateikiamas funkcijos, kuri paverčia skaičius žodžiais, kodas.
  6. Grįžkite į savo darbaknygę ir naudokite funkciją pradėdami langelio turinį a lygus po kurio nurodomas jūsų vaidmuo. Prie funkcijos pavadinimo pridėkite pradinę skliaustą, parametrus atskirdami kablelis ir paskutinis uždaromas skliaustas. Pavyzdžiui:= „NumberToLetters“ (A4) Taip pat galite naudoti savo vartotojo apibrėžtą formulę ieškodami jos kategorijoje Vartotojo apibrėžta vedlyje įvesti formulę. Tiesiog spustelėkite mygtuką Fx kairėje nuo formulės juostos. Parametrai gali būti trijų tipų:
    1. Pastovios reikšmės įvedamos tiesiai į langelio formulę. Šiuo atveju eilutės turi būti pateikiamos kabutėse.
    2. Langelių nuorodos patinka B6 ar intervalais kaip A1: C3 (parametras turi būti tipo Pertrauka"")
    3. Kitos funkcijos, išdėstytos jūsų funkcijoje (jūsų funkcija taip pat gali būti sugrupuota į kitas funkcijas). Tai yra: = faktorius (MAX (D6: D8))
  7. Patikrinkite, ar rezultatas geras kelis kartus naudodamiesi funkcija, įsitikinkite, kad ji tinkamai valdo skirtingas parametrų vertes:

Patarimai

  • Kai rašote kodo bloką valdymo struktūroje, pvz., „If“, „For“, „Do“ ir pan., Nepamirškite įrašyti bloko naudodami kai kuriuos tuščius arba skirtukus (įtraukos stilius priklauso nuo jūsų).Tokiu būdu jūsų kodą bus lengviau suprasti ir daug lengviau aptikti klaidas ir patobulinti kodą.
  • „Excel“ turi daug integruotų funkcijų ir daugumą skaičiavimų galima atlikti naudojant jas atskirai arba kartu. Prieš pradėdami savo kodą, ieškokite galimų funkcijų sąraše. Vykdymas gali būti greitesnis, jei naudojate įmontuotas funkcijas.
  • Kartais norint apskaičiuoti rezultatą, funkcijai gali prireikti ne visų parametrų. Tokiu atveju galite naudoti raktinį žodį Neprivaloma prieš parametro pavadinimą funkcijos antraštėje. Galite naudoti „IsMissing“ (parametro_vardas) kode, kad nustatytumėte, ar parametre buvo priskirta vertė, ar ne.
  • Jei nežinote, kaip rašyti funkcijos kodą, skaitykite straipsnį „Kaip parašyti paprastą makrokomandą„ Microsoft Excel “.
  • Naudokite pavadinimą, kuris dar nėra apibrėžtas kaip „Excel“ funkcijos pavadinimas, nes kitaip galėsite naudoti tik vieną iš funkcijų.

Įspėjimai

  • Dėl saugumo priemonių kai kurie žmonės gali išjungti makrokomandas. Praneškite kolegoms, kad jūsų siunčiama knyga turi makrokomandas ir ja galima pasitikėti, nes jos nepakenks jūsų kompiuteriams.
  • Šiame straipsnyje naudojamos funkcijos nėra geriausias būdas išspręsti minėtas problemas. Jie buvo naudojami tik paaiškinant kalbos valdymo struktūrų naudojimą.
  • VBA, kaip ir bet kuri kita kalba, be „Do“, „If“ ir „For“ turi dar keletą valdymo struktūrų. Tai buvo paaiškinta čia, kad būtų paaiškinta, ką galima padaryti naudojant funkcijos šaltinio kodą. Yra daugybė internetinių mokymo programų, kuriose galite išmokti VBA.

Kaip nužudyti skorpioną

Roger Morrison

Gegužė 2024

korpionu labai unku nužudyti. Šie nuodingi arachnidai yra įpratę gyventi ektremaliomi ąlygomi, todėl inekticidų naudojima neatlieka šio darbo. augiauia korpionų naikinimo būda yra jų egzokeleto pramuš...

Kaip išjungti AVG

Roger Morrison

Gegužė 2024

AVG yra viena iš geriauių antiviruinių programų rinkoje. Ji galima keliom platformom ir gali būti išjungta. „Mac“ ir „Window“ procea yra gana kirtinga, tačiau koncepcija yra ta pati. Norėdami užinoti,...

Dalintis