Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Variabler og Datatyper | VBA-Grundlæggende
Excel VBA til Forretningsautomatisering

Variabler og Datatyper

Stryg for at vise menuen

Hver procedure, du skriver, har brug for et sted at gemme værdier, mens den arbejder — et kundenavn, en løbende total, et ja/nej-flag. Det er, hvad en variabel er: en mærket boks i hukommelsen, som du kan lægge en værdi i og læse tilbage senere. Du opretter en med Dim (forkortelse for "dimension"), og du fortæller VBA på forhånd, hvilken slags ting den skal indeholde:

Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double

Hver linje reserverer en mærket plads: productName kan kun indeholde tekst, currentStock kun hele tal, unitPrice kun tal med decimaler. At erklære typen på forhånd er ikke bureaukrati for bureaukratiets skyld — det er det, der gør det muligt for VBA at fange fejl, før de bliver til bugs. Prøv at køre productName = 47, og VBA stopper dig straks med en typefejl, i stedet for lydløst at gemme noget forkert og skabe forvirring senere.

Almindelige datatyper

En tommelfingerregel: brug Long i stedet for Integer til tællere og rækkenumre — det er ikke langsommere i moderne Excel, og det løber ikke tør for plads ved store datasæt. Du vil se Dim i As Long overalt i dette kursus.

Option Explicit

Sæt denne ene linje helt øverst i hvert modul, før nogen Sub. Det ændrer én ting: VBA vil nu nægte at køre nogen linje, der bruger en variabel, du ikke først har erklæret med Dim:

Option Explicit
 
Sub Example()
    Dim total As Double
    total = 100        ' works — declared above
    toatl = 200        ' typo — Option Explicit catches this at compile time
End Sub

Uden Option Explicit opretter den tastefejl lydløst en helt ny variabel kaldet total, og du ville bruge tyve minutter på at undre dig over, hvorfor total aldrig ændrer sig. Denne ene vane forhindrer flere fejl end noget andet i dette kapitel.

Konstanter

Konstanter er navngivne værdier, der aldrig ændrer sig, mens koden kører — perfekt til ting som skattesatser eller tærskelværdier:

Const REORDER_THRESHOLD As Integer = 20

At bruge REORDER_THRESHOLD i stedet for at skrive 20 overalt betyder, at hvis forretningsreglen ændres, redigerer du én linje i stedet for at skulle lede gennem hele din kode.

Opgave

  1. I Section_2_VBA_Fundamentals.xlsm skal du skrive en Sub, der erklærer en String-variabel til et produktnavn, en Double til prisen og en Integer til lagerbeholdningen.
  2. Tildel dem værdierne for USB-C Hub ved at indtaste de konkrete værdier.
  3. Brug MsgBox til at vise alle tre i én besked, sammenkædet.
  4. Tilføj Const LOW_STOCK As Integer = 20 over din Sub og brug den i en MsgBox, hvor du sammenligner den med lager-variablen.
Tip
expand arrow
  1. Du skal bruge tre Dim-linjer med forskellige typer — se tilbage på Figur 2.1, hvis du har glemt syntaksen: Dim name As Type.
  2. USB-C Hub's række har Price 39.50, Stock 44. Tildel disse direkte: price = 39.50.
  3. Sammenkædning bruger &, ikke +. Byg strengen op i dele: "Name: " & productName & ", Price: " & price.
  4. Konstanter erklæres udenfor enhver Sub, øverst i modulet, lige efter Option Explicit. Sammenlign stockCount med LOW_STOCK med et almindeligt > eller < inde i en MsgBox-streng — du behøver ikke en If endnu, bare vis begge værdier, så du kan sammenligne dem visuelt.
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 1
some-alt