Innhold
Visual Basic for Applications (VBA), som andre Visual Basic-versjoner og de fleste programmeringsspråk, gir mulighet for å dele koden i små, uavhengige deler. Dette gjør programmet mindre tungvint å lese, skrive og teste på grunn av den enkelte natur av mindre stasjoner. De er også gjenbrukbare, så i stedet for å skrive det samme kodestykket hver gang programmet trenger å utføre en oppgave, kan programmereren bare ringe funksjonen flere ganger. Dette er bare ett av funksjonene som gjør VBA, og Visual Basic, et strukturert programmeringsspråk.
Det er en god praksis å dele koden inn i (Stockbyte / Stockbyte / Getty Images)
Funksjoner versus subrutiner
På de fleste språk kalles stykker kode som funksjon. I VBA er de delt inn i to forskjellige typer: funksjoner og subrutiner. Begge typer vises og fungerer på lignende måte, men med to bemerkelsesverdige forskjeller. For det første er funksjonen deklarert med "Funksjon" i koddefinisjonen og slutter med "End Function". En subrutine er erklært med "Sub" og slutter med "End Sub". For det andre returnerer en funksjon en verdi, mens subrutinen ikke gjør det. For å returnere en verdi i Excel VBA, må du bruke en funksjon.
Når må jeg returnere en verdi?
Et godt skrevet program bruker funksjoner og subrutiner for å inkapslere dataene og beskytte den mot endringer som er gjort i andre deler av koden. Dette, sammen med forenkling av forståelse, er hovedgrunnene til at du bruker en funksjon som returnerer verdi mot en subrutine som ikke returnerer. Variabler i en funksjon eller underrutine er usynlige for resten av koden, for å bruke resultatet av en kode i en annen del av programmet, må funksjonen returnere verdien til den som ringer. Den eneste måten å gjøre det samme med subrutiner ville være å erklære variablene som offentlige for hele programmet, ignorerer innkapslingsprinsippet.
Et eksempel
Et eksempel som returnerer verdi er en som legger til to tall og returnerer resultatet av summen. Det vil se slik ut: Funksjon MySum (A som heltall, B som heltall) MySum = A + B End Function Oppstillingen "MySum = A + B" beregner ikke bare resultatet, men setter også verdien i en variabel med samme funksjonsnavn , som gjør det til returverdi. I dette eksemplet vil det være så enkelt å kalle denne funksjonen som "Svar = MySum (2.2)", og responsvariabelen vil motta verdien 4. Funksjonen kan kalles så mange ganger som nødvendig.
Returner verdier i Excel VBA
Selv om Excel har mange innfødte matte og økonomiske funksjoner, kan det hende du må skrive din egen metode for bedre fleksibilitet og kraft. Ved å skrive selve funksjonen kan du også bygge former med forenklede objekter for datainngang. Du kan skrive funksjoner som returnerer verdi og sette dem inn i makroer.
På denne måten kan du designe komplekse og kraftige applikasjoner uten å måtte bygge et program fra bunnen av med et programmeringsspråk som C #. Dette gir deg kraften til native Excel-funksjoner og muligheten til å kontrollere dine egne tilpassede funksjoner som returnerer verdier til skjemaet ditt.