VBA i Excel: Hvad er Visual Basic til applikationer, hvordan man bruger

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

Jeg ønsker at udvide Steve Jobs' kloge ord og sige, at alle i verden bør lære at programmere en computer. Du ender måske slet ikke med at arbejde som programmør eller skrive programmer, men det vil lære dig, hvordan du tænker.

Hvad er Visual Basic for Applications (VBA)?

Visual Basic til applikationer (VBA) er et begivenhedsdrevet programmeringssprog implementeret af Microsoft at udvikle Office-applikationer. VBA hjælper med at udvikle automatiseringsprocesser, Windows API og brugerdefinerede funktioner. Det giver dig også mulighed for at manipulere brugergrænsefladefunktionerne i værtsapplikationerne.

Før vi går ind i yderligere detaljer, lad os se på, hvad computerprogrammering er på et lægmandssprog. Antag, at du har en tjenestepige. Hvis du vil have stuepigen til at gøre rent i huset og vaske tøjet. Du fortæller hende, hvad hun skal gøre ved hjælp af lad os sige engelsk, og hun gør arbejdet for dig. Når du arbejder med en computer, vil du gerne udføre visse opgaver. Ligesom du sagde til stuepigen, at hun skulle gøre husarbejdet, kan du også bede computeren om at udføre opgaverne for dig.

Processen med at fortælle computeren, hvad du vil have den til at gøre for dig, er det, der kaldes computerprogrammering. Ligesom du brugte engelsk til at fortælle tjenestepigen, hvad hun skal gøre, kan du også bruge engelske udsagn til at fortælle computeren, hvad den skal gøre. Engelsklignende udsagn falder i kategorien sprog på højt niveau. VBA er et sprog på højt niveau, som du kan bruge til at bøje excel til din almægtige vilje.

VBA er faktisk et undersæt af Visual Basic 6.0 BASIC står for Bnybegyndere All-Formål Ssymbolsk Instruction Code.

Hvorfor VBA?

VBA giver dig mulighed for at bruge engelsk-lignende udsagn til at skrive instruktioner til oprettelse af forskellige applikationer. VBA er let at lære, og den har en brugervenlig brugergrænseflade, hvor du blot skal trække og slippe grænsefladekontrollerne. Det giver dig også mulighed for at forbedre Excel-funktionaliteten ved at få den til at opføre sig, som du ønsker.

Personlige og forretningsmæssige applikationer af VBA i Excel

Til personlig brug kan du bruge det til simple makroer, der vil automatisere de fleste af dine rutineopgaver. Læs artiklen om makroer for mere information om, hvordan du kan opnå dette.

Til erhvervsbrug kan du oprette komplette kraftfulde programmer drevet af excel og VBA. Fordelen ved denne tilgang er, at du kan udnytte de kraftfulde funktioner i excel i dine egne tilpassede programmer.

Introduktion til Visual Basic for Applications

Før vi kan skrive nogen kode, skal vi først kende det grundlæggende. Følgende grundlæggende vil hjælpe dig i gang.

  • Variabel – i gymnasiet lærte vi om algebra. Find (x + 2y), hvor x = 1 og y = 3. I dette udtryk er x og y variable. De kan tildeles alle numre, dvs. henholdsvis 1 og 3 som i dette eksempel. De kan også ændres til henholdsvis 4 og 2. Variabler er kort fortalt hukommelsesplaceringer. Når du arbejder med VBA Excel, vil du også blive bedt om at deklarere variabler ligesom i algebraklasser
  • Regler for oprettelse af variabler
    • Brug ikke reserverede ord – arbejder du som studerende, kan du ikke bruge titlen underviser eller rektor. Disse titler er forbeholdt underviserne og skolemyndigheden. Reserverede ord er de ord, der har en særlig betydning i Excel VBA, og som sådan kan du ikke bruge dem som variabelnavne.
    • Variabelnavne kan ikke indeholde mellemrum – du kan ikke definere en variabel med navnet første tal. Du kan bruge firstNumber eller first_number.
    • Brug beskrivende navne – det er meget fristende at opkalde en variabel efter dig selv, men undgå dette. Brug beskrivende navne f.eks. antal, pris, subtotal osv. dette vil gøre din Excel VBA-kode let at læse
  • Aritmetiske operatorer – Reglerne for Brackets af divisionsmultiplikation addition og subtraktion (BODMAS) gælder, så husk at anvende dem, når du arbejder med udtryk, der bruger flere forskellige aritmetiske operatorer. Ligesom i excel kan du bruge
    • + til tilføjelse
    • – til subtraktion
    • * til multiplikation
    • / til division.
  • Logiske operatorer – Begrebet logiske operatorer, der er dækket i de tidligere tutorials, gælder også, når du arbejder med VBA. Disse omfatter bl.a
    • Hvis udsagn
    • OR
    • IKKE
    • AND
    • TRUE
    • FALSK

Sådan aktiverer du fanen Udvikler

Nedenfor er den trinvise proces til, hvordan du aktiverer udviklerfanen i Excel:

  • Opret en ny projektmappe
  • Klik på startknappen på båndet
  • Vælg indstillinger
  • Klik på tilpas bånd
  • Marker afkrydsningsfeltet udvikler som vist på billedet nedenfor
  • klik på OK

Aktivér fanen Udvikler

Du vil nu kunne se fanen UDVIKLER i båndet

VBA Hej verden!

Nu vil vi demonstrere, hvordan man programmerer i VBA programmeringssprog. Alle programmer i VBA skal starte med "Sub" og slutte med "End sub". Her er navnet det navn, du vil tildele dit program. Mens sub står for en underrutine, som vi vil lære i den senere del af selvstudiet.

Sub name()
.
.
. 
End Sub

Vi vil oprette et grundlæggende VBA-program, der viser en inputboks for at bede om brugerens navn og derefter vise en hilsen

Denne vejledning forudsætter, at du har gennemført vejledningen på Makroer i excel og har aktiveret fanen DEVELOPER i excel.

  • Opret en ny arbejdsbog
  • Gem det i et Excel-makroaktiveret regnearksformat *.xlsm
  • Klik på fanen UDVIKLER
  • Klik på INSERT drop-down boksen under kontrolbåndet
  • Vælg en kommandoknap som vist på billedet nedenfor

VBA Hello World Program

Tegn kommandoknappen hvor som helst på regnearket

Du får følgende dialogvindue

VBA Hello World Program

  • Omdøb makronavnet til btnHelloWorld_Click
  • Klik på ny knap
  • Du får følgende VBA-kodevindue

VBA Hello World Program

Indtast følgende instruktionskoder

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

HER,

  • "Dim navn som streng" opretter en variabel kaldet navn. Variablen vil acceptere tekst, numeriske og andre tegn, fordi vi definerede den som en streng
  • "navn = InputBox("Indtast dit navn")" kalder den indbyggede funktion InputBox der viser et vindue med billedteksten Indtast dit navn. Det indtastede navn gemmes derefter i navnevariablen.
  • "msgBox "Hej" + navn" kalder den indbyggede funktion MsgBox der viser Hej og det indtastede navn.

Dit komplette kodevindue skulle nu se ud som følger

VBA Hello World Program

  • Luk kodevinduet
  • Højreklik på knap 1 og vælg rediger tekst
  • Indtast Sig hej

VBA Hello World Program

  • Klik på Sig hej
  • Du får følgende inputboks

VBA Hello World Program

  • Indtast dit navn, dvs. Jordan
  • Du får følgende beskedboks

VBA Hello World Program

Tillykke, du har lige oprettet dit første VBA-program i excel

Trin for trin eksempel på oprettelse af en simpel EMI lommeregner i Excel

I denne øvelse skal vi lave et simpelt program, der beregner EMI. EMI er forkortelsen for Equated Monthly Instalment. Det er det månedlige beløb, du tilbagebetaler, når du får et lån. Følgende billede viser formlen til beregning af EMI.

Oprettelse af en simpel EMI-beregner i Excel

Ovenstående formel er kompleks og kan skrives i excel. Den gode nyhed er, at excel allerede har taget sig af ovenstående problem. Du kan bruge PMT-funktionen til at beregne ovenstående.

PMT-funktionen fungerer som følger

=PMT(rate,nper,pv)

HER,

  • "sats" dette er den månedlige sats. Det er renten divideret med antallet af betalinger om året
  • "nper" det er det samlede antal betalinger. Det er lånets løbetid ganget med antallet af betalinger om året
  • "pv" nutidsværdi. Det er det faktiske lånebeløb

Opret GUI ved hjælp af excel-celler som vist nedenfor

Oprettelse af en simpel EMI-beregner i Excel

Tilføj en kommandoknap mellem række 7 og 8

Giv knappen makronavn btnCalculateEMI_Click

Klik på redigeringsknappen

Indtast følgende kode

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

HER,

  • "Dim monthly_rate Som single,..." Dim er nøgleordet, der bruges til at definere variable i VBA, monthly_rate er variabelnavnet, Single er datatypen, der betyder, at variablen vil acceptere nummer.
  • "monthly_rate = Range("B6").Value / Range("B5″).Value" Range er den funktion, der bruges til at få adgang til excel-celler fra VBA, Range(“B6”).Værdi refererer til værdien i B6
  • "WorksheetFunction.Pmt(...)" WorksheetFunction er den funktion, der bruges til at få adgang til alle funktionerne i excel

Følgende billede viser den komplette kildekode

Oprettelse af en simpel EMI-beregner i Excel

  • Klik på Gem og luk kodevinduet
  • Test dit program som vist på det animerede billede nedenfor

Oprettelse af en simpel EMI-beregner i Excel

Sådan bruger du VBA i Excel Eksempel

Følgende trin vil forklare, hvordan du bruger VBA i Excel.

Trin 1) Åbn din VBA-editor

Under Developer-fanen fra hovedmenuen, klik på "Visual Basic"-ikonet, det vil åbne din VBA-editor.

Brug VBA i Excel

Trin 2) Vælg Excel-arket og Double klik på arbejdsarket

Det åbner en VBA-editor, hvorfra du kan vælge det Excel-ark, hvor du vil køre koden. Dobbeltklik på regnearket for at åbne VBA editor.

Brug VBA i Excel

Det åbner en VBA-editor i højre side af mappen. Det vil fremstå som et hvidt rum.

Brug VBA i Excel

Trin 3) Skriv alt, hvad du vil have vist i beskedenBox

I dette trin skal vi se vores første VBA-program. For at læse og vise vores program har vi brug for et objekt. I VBA er det objekt eller medium i en MsgBox.

  • Skriv først "Sub" og derefter dit "programnavn" (Guru99)
  • Skriv alt, hvad du vil have vist i beskedenBox (guru99-læring er sjovt)
  • Afslut programmet ved End Sub

Brug VBA i Excel

Trin 4) Klik på den grønne Kør-knap øverst i editoren

I næste trin skal du køre denne kode ved at klikke på den grønne Kør-knap øverst i editormenuen.

Brug VBA i Excel

Trin 5) Vælg arket og klik på knappen "Kør".

Når du kører koden, dukker et andet vindue op. Her skal du vælge det ark, hvor du vil vise programmet og klikke på knappen "Kør".

Brug VBA i Excel

Trin 6) Vis beskeden i beskedBox

Når du klikker på Kør-knappen, vil programmet blive udført. Det vil vise meddelelsen i MsgBox.

Brug VBA i Excel

Download ovenstående Excel-kode

Resumé

VBA Fuld Form: Visual Basic for Application. Det er en underkomponent af visuelt grundlæggende programmeringssprog, som du kan bruge til at oprette applikationer i Excel. Med VBA kan du stadig drage fordel af de kraftfulde funktioner i excel og bruge dem i VBA.