Innehållsförteckning
I den här artikeln visar jag hur du kan ställa in en variabel till ett cellvärde med hjälp av VBA i Excel. Du lär dig att ställa in en variabel på värdet i en enskild cell och ett intervall av celler.
Ladda ner övningsboken
Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.
Ange Variabel till Cell.xlsm3 snabba exempel för att ställa in variabeln till ett cellvärde i Excel
Här har vi en datamängd som innehåller följande namn på några kunder , deras kontaktnummer , och e-postadresser i intervallet B3:D13 av ett arbetsblad.
Vi vill ställa in variabler till cellvärden från denna datamängd med hjälp av VBA .
1. Ange variabel till ett värde i en enskild cell med Excel VBA
Först ska vi lära oss att ställa in en variabel till ett enskilt cellvärde med hjälp av VBA .
Låt oss till exempel ställa in värdet för cellen B4 till en variabel som heter Kund_namn .
Det är bättre om du vet vilken datatyp värdet har och deklarerar den innan du gör det, och sedan anger värdet i variabeln.
Till exempel, här cell B4 innehåller namnet, Boris Pasternak . Det är en sträng-typ variabeln. Därför kan du använda följande 2 rader av koder:
Dim Value As String Value = Range("B4")
Men det är okej om du inte är säker på datatypen. I det fallet skriver du bara den andra raden och VBA kommer att läsa värdet korrekt åt dig.
Värde = Range("B4")
För att kontrollera om VBA har läst värdet korrekt eller inte, ange raden MsgBox Värde med någon av de två uppsättningarna koder och kör sedan koden.
En meddelanderuta visas som visar värdet i cellen B4 , Boris Pasternak .
2. Ange värden för ett angränsande intervall av celler i en variabel med Excel VBA
Nu ska vi ange värdena för ett angränsande intervall av celler i en variabel. Låt oss till exempel läsa intervallet B3:D13 till variabeln Rng .
Här är variabelns datatyp en Utbud Du kan antingen deklarera det innan så här:
Dim Rng As Range Set Rng = Range("B3:D13")
Du kan också tilldela värdena direkt med den.
Set Rng = Range("B3:D13")
För att få tillgång till värdena för Objekt för räckvidd måste du få tillgång till dem med deras rad- och kolumnnummer med en Objektet celler .
Till exempel, för att få tillgång till cell B4 måste du använda Rng.Cells(2,1) [ Cell B4 är i den 2:a rad och 1:a kolumnen i intervallet B3:D13 .]
Ange raden MsgBox Rng.Cells(2,1) i din kod och kör den. Den kommer att visa Boris Pasternak , värdet i cellen B4 .
3. Ställ in värden från ett icke angränsande intervall av celler i en variabel med Excel VBA
Slutligen ska vi ange värdena för ett icke angränsande intervall av celler i en variabel.
Låt oss till exempel försöka läsa intervallet B3:B13 och D3:D13 till en variabel som heter Rng .
Det är återigen en datatyp av typen Utbud Du kan antingen deklarera det i förväg eller inte.
Vi använder Unionsmetoden på VBA för att ansluta sig till 2 eller flera icke angränsande cellområden till ett enda område.
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13"))
Nu till tillgång till cell B4 måste du återigen skriva in raden MsgBox Rng.Cells(1,1). Om vi sedan kör koden visas innehållet i cellen B4 , Boris Pasternak .
Saker att komma ihåg
Alla metoder som beskrivs ovan fungerar endast för det aktiva arbetsbladet. Om du vill komma åt ett arbetsblad som inte är aktivt måste du ange arbetsbladets namn före intervallet.
Om du till exempel vill få tillgång till intervallet B4 på Blad 1 måste du använda:
Värde = Arbetsblad("Sheet1").Range("B4")