VBA i Excel: Vad är Visual Basic för applikationer, hur man använder

Innehållsförteckning:

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

Jag vill utöka Steve Jobs kloka ord och säga att alla i världen bör lära sig att programmera en dator. Du kanske inte behöver sluta arbeta som programmerare eller skriva program alls, men det lär dig hur du tänker.

I denna VBA-handledning kommer vi att täcka följande ämnen.

  • Vad är Visual Basic for Applications (VBA)?
  • Varför VBA?
  • Personliga och affärstillämpningar av VBA i Excel
  • Introduktion till Visual Basic för applikationer
  • Steg för steg-exempel för att skapa en enkel EMI-kalkylator i Excel
  • Exempel på VBA Excel

Vad är Visual Basic for Applications (VBA)?

Visual Basic for Applications (VBA) är ett händelsedrivet programmeringsspråk som implementeras av Microsoft för att utveckla Office-applikationer. VBA hjälper till att utveckla automatiseringsprocesser, Windows API och användardefinierade funktioner. Det gör det också möjligt för dig att manipulera användargränssnittsfunktionerna för värdapplikationerna.

Innan vi går in i ytterligare detaljer, låt oss titta på vad datorprogrammering är på lekmannaspråk. Antag att du har en piga. Om du vill att pigan ska städa huset och tvätta. Du berättar vad hon ska göra med hjälp av låt oss säga engelska och hon gör jobbet åt dig. När du arbetar med en dator vill du utföra vissa uppgifter. Precis som du sa till hembiträdet att göra husarbeten kan du också be datorn att göra uppgifterna åt dig.

Processen med att berätta för datorn vad du vill att den ska göra åt dig är vad som kallas datorprogrammering. Precis som du använde engelska för att berätta för hembiträden vad du ska göra kan du också använda engelska liknande uttalanden för att berätta för datorn vad du ska göra. De engelska uttalandena faller i kategorin högnivåspråk. VBA är ett högnivåspråk som du kan använda för att böja excel till din all kraftfulla vilja.

VBA är faktiskt en delmängd av Visual Basic 6.0 BASIC står för B eginners A ll-Purpose S ymbolic I nstruction C ode.

Varför VBA?

Med VBA kan du använda engelska liknande uttalanden för att skriva instruktioner för att skapa olika applikationer. VBA är lätt att lära sig och det har lättanvänt användargränssnitt där du bara behöver dra och släppa gränssnittskontrollerna. Det låter dig också förbättra Excel-funktionaliteten genom att få den att fungera som du vill.

Personliga och affärstillämpningar av VBA i Excel

För personligt bruk kan du använda den för enkla makron som automatiserar de flesta av dina rutinuppgifter. Läs artikeln om makron för mer information om hur du kan uppnå detta.

För affärsanvändning kan du skapa kompletta kraftfulla program som drivs av excel och VBA. Fördelen med detta tillvägagångssätt är att du kan använda de kraftfulla funktionerna i Excel i dina egna anpassade program.

Introduktion till Visual Basic för applikationer

Innan vi kan skriva någon kod måste vi först känna till grunderna. Följande grunder hjälper dig att komma igång.

  • Variabel - på gymnasiet lärde vi oss om algebra. Hitta (x + 2y) där x = 1 och y = 3. I detta uttryck är x och y variabler. De kan tilldelas valfria nummer, dvs. 1 respektive 3, som i detta exempel. De kan också ändras till att säga 4 respektive 2. Variabler i korthet är minnesplatser. När du arbetar med VBA Excel måste du deklara variabler precis som i algebraklasser
  • Regler för att skapa variabler
    • Använd inte reserverade ord - om du arbetar som student kan du inte använda titelföreläsare eller rektor. Dessa titlar är reserverade för lärarna och skolmyndigheten. Reserverade ord är de ord som har särskild betydelse i Excel VBA och som sådan kan du inte använda dem som variabla namn.
    • Variabelnamn får inte innehålla mellanslag - du kan inte definiera en variabel med namnet första nummer. Du kan använda firstNumber eller first_number.
    • Använd beskrivande namn - det är väldigt frestande att namnge en variabel efter dig själv men undvik detta. Använd beskrivande namn, dvs. kvantitet, pris, delsumma etc. detta gör din Excel VBA-kod lätt att läsa
  • Aritmetiska operatorer - Reglerna för Brackets of Division Multiplication Addition and Subtraction (BODMAS) gäller så kom ihåg att tillämpa dem när du arbetar med uttryck som använder flera olika aritmetiska operatorer. Precis som i Excel kan du använda
    • + för tillägg
    • - för subtraktion
    • * för multiplikation
    • / för uppdelning.
  • Logiska operatörer - Begreppet logiska operatörer som tas upp i de tidigare självstudierna gäller också när du arbetar med VBA. Dessa inkluderar
    • Om uttalanden
    • ELLER
    • INTE
    • OCH
    • SANN
    • FALSK

Så här aktiverar du fliken Developer

Nedan följer steg för steg processen för hur du aktiverar fliken utvecklare i Excel:

  • Skapa en ny arbetsbok
  • Klicka på menyknappens startknapp
  • Välj inställningar
  • Klicka på anpassa bandet
  • Markera kryssrutan för utvecklare som visas i bilden nedan
  • Klicka på OK

Du kommer nu att kunna se fliken UTVECKLARE i menyfliksområdet

VBA Hello World!

Nu kommer vi att visa hur man programmerar på VBA-programmeringsspråk. Alla program i VBA måste börja med "Sub" och sluta med "End sub". Här är namnet det namn du vill tilldela ditt program. Medan sub står för en subrutin som vi kommer att lära oss i den senare delen av handledningen.

Sub name()… End Sub

Vi skapar ett grundläggande VBA-program som visar en inmatningsruta för att be om användarens namn och sedan visa ett hälsningsmeddelande

Denna handledning förutsätter att du har slutfört självstudien om makron i Excel och har aktiverat fliken UTVECKLARE i Excel.

  • Skapa en ny arbetsbok
  • Spara den i ett Excel-aktiverat kalkylarkformat * .xlsm
  • Klicka på fliken UTVECKLARE
  • Klicka på INSERT-rullgardinsmenyn under kontrollpanelen
  • Välj en kommandoknapp som visas i bilden nedan

Rita kommandoknappen var som helst på kalkylbladet

Du får följande dialogfönster

  • Byt namn på makronamnet till btnHelloWorld_Click
  • Klicka på ny knapp
  • Du får följande VBA-kodfönster

Ange följande instruktionskoder

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

HÄR,

  • "Dim namn som sträng" skapar en variabel som heter namn. Variabeln accepterar text, numeriska tecken och andra tecken eftersom vi definierade den som en sträng
  • "namn = InputBox (" Ange ditt namn ")" kallar den inbyggda funktionen InputBox som visar ett fönster med texten Ange ditt namn. Det angivna namnet lagras sedan i namnvariabeln.
  • " MsgBox" Hej "+ namn" kallar den inbyggda funktionen MsgBox som visar Hello och det angivna namnet.

Ditt kompletta kodfönster ska nu se ut enligt följande

  • Stäng kodfönstret
  • Högerklicka på knapp 1 och välj redigera text
  • Enter Säg hej
  • Klicka på Say Hello
  • Du får följande inmatningsruta
  • Ange ditt namn, dvs. Jordan
  • Du får följande meddelandefält

Grattis, du skapade just ditt första VBA-program i Excel

Steg för steg-exempel för att skapa en enkel EMI-kalkylator i Excel

I den här övningen ska vi skapa ett enkelt program som beräknar EMI. EMI är förkortningen för Equated Monthly Installment. Det är det månatliga belopp som du återbetalar när du får ett lån. Följande bild visar formeln för beräkning av EMI.

Ovanstående formel är komplex och kan skrivas i excel. Den goda nyheten är att excel redan tog hand om ovanstående problem. Du kan använda PMT-funktionen för att beräkna ovanstående.

PMT-funktionen fungerar enligt följande

=PMT(rate,nper,pv)

HÄR,

  • "ränta" detta är månadsräntan. Det är räntan dividerat med antalet betalningar per år
  • "nper" det är det totala antalet betalningar. Det är lånetiden multiplicerat med antalet betalningar per år
  • "pv" nuvärde. Det är det faktiska lånebeloppet

Skapa GUI med hjälp av excel-celler som visas nedan

Lägg till en kommandoknapp mellan raderna 7 och 8

Ge knappen makronamn btnCalculateEMI_Click

Klicka på knappen Redigera

Ange följande kod

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

HÄR,

  • "Dim monthly_rate As Single, ..." Dim är nyckelordet som används för att definiera variabler i VBA, monthly_rate är variabelnamnet, Single är datatypen som betyder att variabeln accepterar nummer.
  • "monthly_rate = Range (" B6 "). Value / Range (" B5 "). Value" Range är den funktion som används för att komma åt excelceller från VBA, Range ("B6"). Värdet hänvisar till värdet i B6
  • "WorksheetFunction.Pmt (...)" WorksheetFunction är den funktion som används för att komma åt alla funktioner i Excel

Följande bild visar hela källkoden

  • Klicka på spara och stäng kodfönstret
  • Testa ditt program som visas i den animerade bilden nedan

Exempel på VBA Excel

Steg 1) Under fliken Developer från huvudmenyn klickar du på ikonen "Visual Basic" för att öppna din VBA-redigerare.

Steg 2) Det öppnar en VBA-redigerare, där du kan välja Excel-ark där du vill köra koden. För att öppna VBA-editor dubbelklickar du på kalkylbladet.

Det öppnar en VBA-redigerare till höger om mappen. Det kommer att se ut som ett vitt utrymme.

Steg 3) I det här steget kommer vi att se vårt näve VBA-program. För att läsa och visa vårt program behöver vi ett objekt. I VBA det objektet eller mediet i en MsgBox.

  • Skriv först "Sub" och sedan ditt "programnamn" (Guru99)
  • Skriv allt du vill visa i MsgBox (guru99-learning är kul)
  • Avsluta programmet med End Sub

Steg 4) I nästa steg måste du köra den här koden genom att klicka på den gröna körknappen ovanpå redigeringsmenyn.

Steg 5) När du kör koden dyker ett annat fönster ut. Här måste du välja arket där du vill visa programmet och klicka på "Kör" -knappen

Steg 6) När du klickar på knappen Kör kommer programmet att köras. Det kommer att visa meddelandet i MsgBox.

Ladda ner ovanstående Excel-kod

Sammanfattning

VBA Full Form: Visual Basic för applikation. Det är en underkomponent av det visuella grundläggande programmeringsspråket som du kan använda för att skapa applikationer i Excel. Med VBA kan du fortfarande dra nytta av de kraftfulla funktionerna i Excel och använda dem i VBA.