Video: En kort titt i vår odlingstunnel. 2024
Variabler spelar en stor roll i de flesta Excel-makron du stöter på. Du kan tänka på variabler som minnesbehållare som du kan använda i dina procedurer. Det finns olika typer av variabler, som varje uppgift är att hålla en viss typ av data.
Följande är några av de vanliga typerna av variabler som du kommer att se:
-
String: Håller textdata
-
Heltal: Håller numeriska data från -32, 768 till 32, 767 >
-
Håller numeriska data som sträcker sig från -2, 147, 483, 648 till 2, 147, 483, 647 Dubbel:
-
Håller numeriska data med flytande punkt < Variant: Håller någon form av data
-
Booleskt: Håller binär data som returnerar True eller False
-
Objekt: Håller ett objekt från Excel Object-modellen
-
När du skapar En variabel i ett makro, du är förklarar en variabel
. Du gör det genom att ange Dim (förkortning för dimension), sedan namnet på din variabel och sedan typen. Till exempel:
Dim MyText as String MyText = Range ("A1"). Värdet Dim MyNumber as Integer MyNumber = Område ("B1"). Värde * 25 Dim MyObject som arbetsbladssats MyWorksheet = Ark ("Sheet1")
De värden du tilldelar dina variabler kommer ofta från data som lagras i dina celler. Värdena kan dock också vara information som du skapar. Det beror helt på uppgiften till hands. Denna uppfattning kommer att bli tydligare när du går igenom makronerna i den här boken.
Även om det är möjligt att skapa kod som inte använder variabler, kommer du att stöta på många exempel på VBA-kod där variablerna
äranställda. Det finns två huvudorsaker till detta. Först förstår Excel inte själv vad din data används för. Det ser inte siffror, symboler eller bokstäver. Det ser bara data. När du förklarar variabler med specifika datatyper hjälper du Excel att veta hur det ska hantera vissa data, så att dina makron kommer att ge de resultat du förväntar dig. För det andra hjälper variablerna att göra din kod effektivare och lättare att förstå. Antag exempelvis att du har ett nummer i cell A1 som du upprepade gånger hänvisar till i ditt makro. Du kan hämta det numret genom att peka på cell A1 varje gång du behöver det:
Sub Macro1 () Range ("B1"). Värde = Område ("A1"). Värde * 5 Område ("C1"). Värde = Område ("A1"). Värde * 10 Område ("D1"). Värde = Område ("A1").Värde * 15 Slut Sub
Detta makro skulle emellertid tvinga Excel att slösa cykler som lagrar samma nummer i minnet varje gång du pekar på cell A1. Om du också behöver ändra din arbetsbok så att målnumret inte finns i cell A1, men i t.ex. cell A2, behöver du redigera din kod genom att ändra alla referenser från A1 till A2.
Ett bättre sätt är att lagra numret i cell A1 bara en gång. Till exempel kan du lagra värdet i cell A1 i en integer-variabel kallad myValue:
Sub WithVariable () Dim myValue As Integer myValue = Range ("A1"). Värdesintervall ("C3"). Value = myValue * 5 Range ("D5"). Värde = myValue * 10 Range ("E7"). Value = myValue * 15 End Sub
Detta tillvägagångssätt förbättrar inte bara effektiviteten av din kod (se till att Excel läser numret i cell A1 bara en gång) men säkerställer att du bara behöver redigera en rad om utformningen av din arbetsbok förändras.