VBA i Excel: Hva er Visual Basic for applikasjoner, hvordan du bruker

Innholdsfortegnelse:

Anonim
Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs

Jeg ønsker å utvide de kloke ordene til Steve Jobs og si at alle i verden bør lære å programmere en datamaskin. Det kan hende du ikke ender med å jobbe som programmerer eller skrive programmer i det hele tatt, men det vil lære deg å tenke.

I denne VBA-opplæringen skal vi dekke følgende emner.

  • Hva er Visual Basic for Applications (VBA)?
  • Hvorfor VBA?
  • Personlige og forretningsmessige applikasjoner av VBA i Excel
  • Introduksjon til Visual Basic for applikasjoner
  • Trinnvis eksempel for å lage en enkel EMI-kalkulator i Excel
  • VBA Excel Eksempel

Hva er Visual Basic for Applications (VBA)?

Visual Basic for Applications (VBA) er et hendelsesdrevet programmeringsspråk implementert av Microsoft for å utvikle Office-applikasjoner. VBA hjelper deg med å utvikle automatiseringsprosesser, Windows API og brukerdefinerte funksjoner. Det lar deg også manipulere brukergrensesnittfunksjonene til vertsapplikasjonene.

Før vi går i nærmere detaljer, la oss se på hva dataprogrammering er på lekespråk. Anta at du har en hushjelp. Hvis du vil at hushjelpen skal rydde huset og vaske. Du forteller henne hva hun skal gjøre ved å la oss si engelsk, og hun gjør jobben for deg. Når du jobber med en datamaskin, vil du utføre visse oppgaver. Akkurat som du ba hushjelpen om å gjøre husarbeidene, kan du også be datamaskinen om å gjøre oppgavene for deg.

Prosessen med å fortelle datamaskinen hva du vil at den skal gjøre for deg, er det som kalles dataprogrammering. Akkurat som du brukte engelsk for å fortelle hushjelpen hva du skulle gjøre, kan du også bruke uttalelser som engelsk for å fortelle datamaskinen hva du skal gjøre. De engelske uttalelsene faller i kategorien språk på høyt nivå. VBA er et høyt nivå språk som du kan bruke til å bøye utmerke deg til din mektige vilje.

VBA er faktisk en sub sett av Visual Basic 6.0 BASIC står for B eginners A ll-Purpose S ymbolic jeg nstruction C ode.

Hvorfor VBA?

VBA lar deg bruke engelsk som uttalelser til å skrive instruksjoner for å lage forskjellige applikasjoner. VBA er lett å lære, og det har brukervennlig brukergrensesnitt der du bare må dra og slippe grensesnittkontrollene. Det lar deg også forbedre Excel-funksjonaliteten ved å få den til å oppføre seg slik du vil.

Personlige og forretningsmessige applikasjoner av VBA i Excel

For personlig bruk kan du bruke den til enkle makroer som automatiserer de fleste rutineoppgavene dine. Les artikkelen om makroer for mer informasjon om hvordan du kan oppnå dette.

For forretningsbruk kan du lage komplette kraftige programmer drevet av excel og VBA. Fordelen med denne tilnærmingen er at du kan utnytte de kraftige funksjonene til excel i dine egne tilpassede programmer.

Introduksjon til Visual Basic for applikasjoner

Før vi kan skrive noen kode, må vi først vite det grunnleggende. Følgende grunnleggende hjelper deg med å komme i gang.

  • Variabel - på videregående lærte vi om algebra. Finn (x + 2y) der x = 1 og y = 3. I dette uttrykket er x og y variabler. De kan tildeles hvilket som helst tall, dvs. 1 og 3, som i dette eksemplet. De kan også endres til å si henholdsvis 4 og 2. Variabler i korte trekk er minneplasseringer. Når du jobber med VBA Excel, blir du bedt om å erklære variabler akkurat som i algebraklasser
  • Regler for å lage variabler
    • Ikke bruk reserverte ord - hvis du jobber som student, kan du ikke bruke tittelforeleser eller rektor. Disse titlene er forbeholdt foreleserne og skolemyndigheten. Reserverte ord er de ordene som har spesiell betydning i Excel VBA, og som sådan kan du ikke bruke dem som variabelnavn.
    • Variabelnavn kan ikke inneholde mellomrom - du kan ikke definere en variabel som heter første nummer. Du kan bruke firstNumber eller first_number.
    • Bruk beskrivende navn - det er veldig fristende å nevne en variabel etter deg selv, men unngå dette. Bruk beskrivende navn, dvs. antall, pris, delsum osv. Dette gjør Excel VBA-koden din enkel å lese
  • Aritmetiske operatorer - Reglene for Brackets of Division Multiplication Addition and Subtraction (BODMAS) gjelder, så husk å bruke dem når du arbeider med uttrykk som bruker flere forskjellige aritmetiske operatorer. Akkurat som i excel, kan du bruke
    • + for tillegg
    • - for subtraksjon
    • * for multiplikasjon
    • / for divisjon.
  • Logiske operatører - Konseptet med logiske operatører som er omtalt i de tidligere opplæringene, gjelder også når du arbeider med VBA. Disse inkluderer
    • Hvis uttalelser
    • ELLER
    • IKKE
    • OG
    • EKTE
    • FALSK

Hvordan aktivere utviklerfanen

Nedenfor er trinnvis prosess for hvordan du aktiverer utviklerfanen i Excel:

  • Lag en ny arbeidsbok
  • Klikk på båndets startknapp
  • Velg alternativer
  • Klikk på Tilpass båndet
  • Merk avkrysningsruten for utvikler som vist på bildet nedenfor
  • Klikk OK

Du vil nå kunne se fanen UTVIKLER i båndet

VBA Hello World!

Nå skal vi demonstrere hvordan du programmerer på VBA-programmeringsspråk. Alle programmer i VBA må starte med "Sub" og avslutte med "End sub". Her er navnet navnet du vil tildele programmet ditt. Mens sub står for en subrutine som vi vil lære i den senere delen av opplæringen.

Sub name()… End Sub

Vi vil lage et grunnleggende VBA-program som viser en inndataboks for å be om brukerens navn og deretter vise en hilsen

Denne opplæringen forutsetter at du har fullført opplæringen om makroer i Excel og har aktivert fanen UTVIKLER i Excel.

  • Lag en ny arbeidsbok
  • Lagre den i et Excel-aktivert regnearkformat * .xlsm
  • Klikk på fanen UTVIKLER
  • Klikk på INSERT-rullegardinboksen under kontrollbåndlinjen
  • Velg en kommandoknapp som vist på bildet nedenfor

Tegn kommandoknappen hvor som helst på regnearket

Du får følgende dialogvindu

  • Gi makronavnet nytt navn til btnHelloWorld_Click
  • Klikk på ny knapp
  • Du får følgende VBA-kodevindu

Skriv inn følgende instruksjonskoder

Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name

HER,

  • "Demp navn som streng" oppretter en variabel som heter navn. Variabelen godtar tekst, numeriske tegn og andre tegn fordi vi definerte den som en streng
  • "name = InputBox (" Enter your name ")" kaller den innebygde funksjonen InputBox som viser et vindu med bildeteksten Skriv inn navnet ditt. Det angitte navnet lagres deretter i navnevariabelen.
  • " MsgBox" Hello "+ name" kaller den innebygde funksjonen MsgBox som viser Hello og det angitte navnet.

Hele kodevinduet ditt skal nå se ut som følger

  • Lukk kodevinduet
  • Høyreklikk på knapp 1 og velg rediger tekst
  • Enter Si hei
  • Klikk på Si hei
  • Du får følgende inntastingsboks
  • Skriv inn navnet ditt, dvs. Jordan
  • Du får følgende meldingsboks

Gratulerer, du opprettet akkurat ditt første VBA-program i Excel

Trinnvis eksempel for å lage en enkel EMI-kalkulator i Excel

I denne opplæringsøvelsen skal vi lage et enkelt program som beregner EMI. EMI er forkortelsen for Equated Monthly Installment. Det er det månedlige beløpet du betaler tilbake når du får et lån. Følgende bilde viser formelen for beregning av EMI.

Ovenstående formel er kompleks og kan skrives i excel. Den gode nyheten er at den allerede har tatt vare på problemet ovenfor. Du kan bruke PMT-funksjonen til å beregne det ovennevnte.

PMT-funksjonen fungerer som følger

=PMT(rate,nper,pv)

HER,

  • "rate" dette er den månedlige prisen. Det er renten delt på antall betalinger per år
  • "nper" det er totalt antall betalinger. Det er lånetiden multiplisert med antall betalinger per år
  • "pv" nåverdi. Det er det faktiske lånebeløpet

Lag GUI ved hjelp av excel-celler som vist nedenfor

Legg til en kommandoknapp mellom rad 7 og 8

Gi knappen makronavn btnCalculateEMI_Click

Klikk på rediger-knappen

Skriv inn følgende kode

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi

HER,

  • "Dim monthly_rate As Single,…" Dim er nøkkelordet som brukes til å definere variabler i VBA, månedlig_rate er variabelnavnet, Single er datatypen som betyr at variabelen vil akseptere nummer.
  • "monthly_rate = Range (" B6 "). Verdi / Range (" B5 "). Verdi" Range er funksjonen som brukes for å få tilgang til excel-celler fra VBA, Range ("B6"). Verdi refererer til verdien i B6
  • "WorksheetFunction.Pmt (...)" WorksheetFunction er funksjonen som brukes til å få tilgang til alle funksjonene i Excel

Følgende bilde viser hele kildekoden

  • Klikk på lagre og lukk kodevinduet
  • Test programmet ditt som vist i det animerte bildet nedenfor

VBA Excel Eksempel

Trinn 1) Under kategorien Utvikler fra hovedmenyen, klikk på "Visual Basic" -ikonet for å åpne VBA-redigereren.

Trinn 2) Det åpner en VBA-editor, hvor du kan velge Excel-arket der du vil kjøre koden. For å åpne VBA-editor dobbeltklikker du på regnearket.

Det åpner en VBA-editor på høyre side av mappen. Det vil se ut som et hvitt mellomrom.

Trinn 3) I dette trinnet skal vi se knyttneven vår VBA-program. For å lese og vise programmet trenger vi et objekt. I VBA det objektet eller mediet i en MsgBox.

  • Skriv først "Sub" og deretter "programnavnet" (Guru99)
  • Skriv alt du vil vise i MsgBox (guru99-læring er morsomt)
  • Avslutt programmet med End Sub

Trinn 4) I neste trinn må du kjøre denne koden ved å klikke på den grønne løpsknappen øverst på redigeringsmenyen.

Trinn 5) Når du kjører koden, vil et annet vindu dukke opp. Her må du velge arket der du vil vise programmet og klikke på "Kjør" -knappen

Trinn 6) Når du klikker på Run-knappen, blir programmet kjørt. Det vil vise meldingen i MsgBox.

Last ned Excel-koden ovenfor

Sammendrag

VBA Full Form: Visual Basic for applikasjon. Det er en underkomponent av det visuelle grunnleggende programmeringsspråket du kan bruke til å lage applikasjoner i Excel. Med VBA kan du fremdeles dra nytte av de kraftige funksjonene i Excel og bruke dem i VBA.