VBA i Excel: Vad är Visual Basic för applikationer, hur man använder
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Jag vill förlänga Steve Jobs kloka ord och säga att alla i världen borde lära sig hur man programmerar en dator. Du kanske inte behöver arbeta som programmerare eller skriva program alls, men det kommer att lära dig hur du ska tänka.
Vad är Visual Basic for Applications (VBA)?
Visual Basic för applikationer (VBA) är ett händelsestyrt programmeringsspråk implementerat av Microsoft att utveckla Office-applikationer. VBA hjälper till att utveckla automationsprocesser, Windows API och användardefinierade funktioner. Det låter dig också manipulera användargränssnittsfunktionerna i värdapplikationerna.
Innan vi går in på ytterligare detaljer, låt oss titta på vad datorprogrammering är på ett lekmannaspråk. Anta att du har en hembiträde. Om du vill att hembiträdet ska städa huset och tvätta. Du berättar för henne vad hon ska göra med låt oss säga engelska och hon gör jobbet åt dig. När du arbetar med en dator kommer du att vilja utföra vissa uppgifter. Precis som du sa åt hembiträdet att göra hussysslorna, kan du också säga åt datorn att göra uppgifterna åt dig.
Processen att berätta för datorn vad du vill att den ska göra för dig är vad som kallas datorprogrammering. Precis som du använde engelska för att berätta för hembiträdet vad den ska göra, kan du också använda engelska som uttalanden för att tala om för datorn vad den ska göra. Engelskliknande uttalanden faller i kategorin högnivåspråk. VBA är ett språk på hög nivå som du kan använda för att böja excel till din kraftfulla vilja.
VBA är faktiskt en underuppsättning av Visual Basic 6.0 BASIC står för Bnybörjare All-Syfte Ssymbolisk Instruction Code.
Varför VBA?
VBA låter dig 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 ett 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 kommer att automatisera de flesta av dina rutinuppgifter. Läs artikeln om makron för mer information om hur du kan uppnå detta.
För affärsbruk kan du skapa kompletta kraftfulla program som drivs av Excel och VBA. Fördelen med detta tillvägagångssätt är att du kan utnyttja 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 vilka nummer som helst, t.ex. 1 respektive 3 som i detta exempel. De kan också ändras till att säga 4 respektive 2. Variabler är kortfattat minnesplatser. När du arbetar med VBA Excel kommer du att behöva deklarera variabler precis som i algebraklasser
-
Regler för att skapa variabler
- Använd inte reserverade ord – arbetar du som student kan du inte använda titeln föreläsare eller rektor. Dessa titlar är reserverade för föreläsarna och skolmyndigheten. Reserverade ord är de ord som har speciell betydelse i Excel VBA och som sådana kan du inte använda dem som variabelnamn.
- Variabelnamn kan inte innehålla mellanslag – du kan inte definiera en variabel med namnet första siffra. Du kan använda firstNumber eller first_number.
- Använd beskrivande namn – det är väldigt frestande att döpa en variabel efter sig 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 av division, multiplikation, addition och 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 underordnadtraction
- * för multiplikation
- / för division.
-
Logiska operatorer – Konceptet med logiska operatorer som behandlas i de tidigare handledningarna gäller även när man arbetar med VBA. Dessa inkluderar
- Om uttalanden
- OR
- INTE
- AND
- SANN
- FALSK
Så här aktiverar du fliken Utvecklare
Nedan följer steg-för-steg-processen för hur du aktiverar fliken utvecklare i Excel:
- Skapa en ny arbetsbok
- Klicka på menyfliksområdets startknapp
- Välj alternativ
- Klicka på anpassa menyfliksområdet
- Markera kryssrutan för utvecklare som visas i bilden nedan
- klicka på OK
Du kommer nu att kunna se UTVECKLAR-fliken i menyfliksområdet
VBA Hej världen!
Nu kommer vi att visa hur man programmerar i programmeringsspråket VBA. 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 kommer att skapa ett grundläggande VBA-program som visar en inmatningsruta för att fråga efter användarens namn och sedan visa ett hälsningsmeddelande
Denna handledning förutsätter att du har slutfört handledningen på Makron i excel och har aktiverat fliken DEVELOPER i excel.
- Skapa en ny arbetsbok
- Spara det i ett Excel-makroaktiverat kalkylbladsformat *.xlsm
- Klicka på fliken UTVECKLARE
- Klicka på INFOGA rullgardinsmenyn under kontrollbandet
- 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å makrot till btnHelloWorld_Click
- Klicka på ny knapp
- Du kommer att få följande VBA-kodfönster
Ange följande instruktionskoder
Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name
HÄR,
- "Dim namn som sträng" skapar en variabel som heter namn. Variabeln accepterar text, numeriska och andra tecken eftersom vi definierade den som en sträng
- "namn = IngångBox("Ange ditt namn")" anropar den inbyggda funktionen InputBox som visar ett fönster med texten Ange ditt namn. Det angivna namnet lagras sedan i namnvariabeln.
- "MsgBox "Hej" + namn" anropar den inbyggda funktionen MsgBox som visar Hej och det angivna namnet.
Ditt fullständiga kodfönster bör nu se ut som följer
- Stäng kodfönstret
- Högerklicka på knapp 1 och välj redigera text
- Enter Säg hej
- Klicka på Säg hej
- Du kommer att få följande inmatningsruta
- Ange ditt namn, dvs Jordan
- Du kommer att få följande meddelanderuta
Grattis, du har precis skapat ditt första VBA-program i excel
Steg för steg exempel på att skapa en enkel EMI-kalkylator i Excel
I den här handledningsövningen ska vi skapa ett enkelt program som beräknar EMI. EMI är förkortningen för Equated Monthly Instalment. Det är det månatliga beloppet som du betalar tillbaka 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,
- "Betygsätta" detta är månadsavgiften. Det är räntan delat med antalet betalningar per år
- "nper" det är det totala antalet betalningar. Det är lånetiden multiplicerat med antalet betalningar per år
- "pv" nuvarande värde. Det är det faktiska lånebeloppet
Skapa det grafiska användargränssnittet med hjälp av excel-celler som visas nedan
Lägg till en kommandoknapp mellan rad 7 och 8
Ge knappens makronamn btnCalculateEMI_Click
Klicka på redigera-knappen
Ange följande kod
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi
HÄR,
- “Dim monthly_rate Som singel,...” 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 funktionen som används för att komma åt excel-celler från VBA, Range(“B6”). Värdet refererar 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
Hur man använder VBA i Excel Exempel
Följande steg kommer att förklara hur man använder VBA i Excel.
Steg 1) Öppna din VBA-editor
Under fliken Utvecklare från huvudmenyn, klicka på ikonen "Visual Basic" så öppnas din VBA-redigerare.
Steg 2) Välj Excel-arket & Double klicka på arbetsbladet
Det öppnar en VBA-redigerare, varifrån du kan välja det Excel-ark där du vill köra koden. För att öppna VBA editor dubbelklicka på kalkylbladet.
Det kommer att öppna en VBA-redigerare på höger sida av mappen. Det kommer att se ut som ett vitt utrymme.
Steg 3) Skriv allt du vill visa i meddelandetBox
I det här steget kommer vi att se vårt första VBA-program. För att läsa och visa vårt program behöver vi ett objekt. I VBA det objektet eller mediet i ett meddelandeBox.
- Skriv först ”Sub” och sedan ditt ”programnamn” (Guru99)
- Skriv allt du vill visa i meddelandetBox (guru99-lärande är kul)
- Avsluta programmet med End Sub
Steg 4) Klicka på den gröna körknappen överst i editorn
I nästa steg måste du köra den här koden genom att klicka på den gröna körknappen överst i redigerarens meny.
Steg 5) Välj arket och klicka på knappen "Kör".
När du kör koden kommer ett annat fönster att dyka upp. Här måste du välja arket där du vill visa programmet och klicka på knappen "Kör".
Steg 6) Visa meddelandet i MeddBox
När du klickar på Kör-knappen kommer programmet att köras. Det kommer att visa meddelandet i MeddBox.
Ladda ner ovanstående Excel-fil Code
Sammanfattning
VBA Full Form: Visual Basic for Application. Det är en underkomponent av visuellt grundläggande programmeringsspråk 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.



















