Video: Top 10 Excel New Features 2025
Variabler spiller en stor rolle i de fleste Excel-makroene du møter. Du kan tenke på variabler som minnebeholdere som du kan bruke i dine prosedyrer. Det finnes ulike typer variabler, hver oppgave å holde en bestemt type data.
Følgende er noen av de vanlige variablene du vil se:
-
String: Holder tekstdata
-
Heltal: Holder numeriske data som spenner fra -32, 768 til 32, 767 >
-
Holder numeriske data som spenner fra -2, 147, 483, 648 til 2, 147, 483, 647 Dobbel:
-
Variant: Holder noen form for data
-
Boolsk: Holder binære data som returnerer True eller False
-
Objekt: Holder et objekt fra Excel Object-modellen
-
Når du oppretter en variabel i en makro, er du en variabel
. Du gjør det ved å skrive inn Dim (forkortelse for dimensjon), deretter navnet på variabelen, og deretter typen. For eksempel:
Dim MyText as String MyText = Range ("A1"). Verdi Dim MyNumber as Integer MyNumber = Range ("B1"). Verdi * 25 Dim MyObject som regnearksett MyWorksheet = Ark ("Sheet1")
Verdiene du tilordner variablene dine kommer ofte fra data lagret i cellene dine. Verdiene kan imidlertid også være informasjon du lager. Alt avhenger av oppgaven ved hånden. Dette begrepet blir tydeligere mens du går gjennom makroene i denne boken.
Selv om det er mulig å lage kode som ikke bruker variabler, møter du mange eksempler på VBA-kode hvor variabler
eransatt. Det er to hovedårsaker til dette. For det første vet Excel ikke iboende hva dataene dine brukes til. Det ser ikke tall, symboler eller bokstaver. Den ser bare data. Når du erklærer variabler med bestemte datatyper, hjelper du Excel å vite hvordan det skal håndtere bestemte deler av data slik at makroene dine vil gi de resultatene du forventer. For det andre hjelper variabler ved å gjøre koden mer effektiv og lettere å forstå. For eksempel, anta at du har et tall i celle A1 som du flere ganger refererer til i makroen din. Du kan hente det nummeret ved å peke på celle A1 hver gang du trenger det:
Sub Macro1 () Range ("B1"). Verdi = Range ("A1"). Verdi * 5 Range ("C1"). Verdi = Range ("A1"). Verdi * 10 Range ("D1"). Verdi = Range ("A1").Verdi * 15 End Sub
Denne makroen ville imidlertid tvinge Excel til å kaste bort sykluser som lagrer det samme nummeret i minnet hver gang du peker på celle A1. Også, hvis du må endre arbeidsboken din slik at målnummeret ikke er i celle A1, men i, for eksempel celle A2, må du redigere koden din ved å endre alle referansene fra A1 til A2.
En bedre måte er å lagre nummeret i celle A1 bare én gang. For eksempel kan du lagre verdien i celle A1 i en Integer-variabel kalt myValue:
Sub WithVariable () Dim myValue As Integer myValue = Range ("A1"). Verdiområde ("C3"). Verdi = myValue * 5 Range ("D5"). Verdi = myValue * 10 Range ("E7"). Value = myValue * 15 End Sub
Denne tilnærmingen forbedrer ikke bare effektiviteten til koden din (se at Excel leser tallet i celle A1 bare en gang), men sørger også for at du bare må redigere en linje hvis utformingen av arbeidsboken endres.
