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 varianter
  • 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.

Opsummer dette indlรฆg med: