top of page
Variabler
I VBA kan du bestämma att exempelvis en bokstav ska anta ett värde genom att deklarera en variabel (ett namn) och sedan tilldela denna ett värde
Exempelvis:
X = Antal rader med text i kolumn B
Y = Värdet som står i cell A5
Lär dig mer om detta nedan!
01/ Vad är en variabel
Inom programmering är en variabel ett värde som kan ändras beroende på vilken information som ges att värdet ska vara
Exempelvis kan vi säga att X ska vara en siffra och denna siffra ska vara 4
02/ Olika variabler
Beroende på vad du vill att X ska vara så finns typer av variabler. Du behöver innan du bestämmer vad X ska vara berätta vad för datatyp X ska vara (tal, text o.s.v.).
Detta gör du genom att skriva:
Dim "variabel" as "typ av variabel"
Dim X As Integer (Hela tal mellan -/+ 32 767)
Dim X As Long (Hela tal mellan -/+ 2 147 483 647)
Dim X As Double (Tal med decimaler)
Dim X As String (Text)
03/ Exempel på ovan
Dim x As Integer
x = 5.5
Range("A1").Value = x
Cell A1 kommer då få värdet 6. Byter du ut Integer mot Double kommer cell A1 få värdet 5,5.
Kom ihåg att decimalavgränsare i VBA är .
Dim x As String
x = "Excel med Rickard"
Range("A1").Value = x
Värdet i cell A1 ska bli det som du definierat som x, d.v.s. texten Excel med Rickard.
Var noga med att text skrivs inom parantes.
04/ Fördel med variabler
Nyttan med att använda sig av variabler är dess förmåga att anta värden baserat på olika förhållanden. Som jag nämnde överst på sidan kan du säga att x ska vara ett tal och sedan att talet ska vara antalet rader med innehåll i kolumn A.
Dim x As Integer
x = Range("A" & Rows.Count).End(xlUp).Row
Har du således data i cell A1 - A5 kommer värdet av X bli 5. Lägger du till data i cell A6 och kör makrot igen kommer värdet då att bli 6.
05/ Ett annat exempel
Ett enkelt sätt att bestämma en variabel är att skriva i en cell en formel och sedan låta variabeln vara värdet som står i cellen
Dim x As Integer
x = Cells(2, 4).Value
eller
x = Range("D2").Value
Har du då skrivit en formel i D2 som varierar så kommer din variabel att variera och anta samma värde som står i D2.
bottom of page