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.

Excel med Rickard