VBA namngivet intervall

Excel VBA namngivet intervall

När vi arbetar med en stor mängd data för att undvika att hänvisa till en viss cell eller cellområden skapar vi vanligtvis namngivna intervall och det gör det möjligt för oss att referera till det önskade cellområdet genom det nämnda intervallet. I VBA för att skapa namnintervall har vi Lägg till namnfunktion.

Vi kan välja en cell eller ett cellområde och ge det ett namn. Efter att ha namngett cellerna kan vi hänvisa till dessa celler genom att ange de definierade namnen istället för en vanlig rad- eller kolumnreferens.

Du kan ladda ner den här VBA Named Range Excel-mallen här - VBA Named Range Excel-mall

Hur skapar jag namngivna områden?

Det är en promenad i parkjobbet för att skapa namngivna intervall. Det första vi behöver göra är att identifiera de celler vi vill skapa namnintervall i Excel.

För ett exempel, se nedanstående bild.

För att nå vinsten i B4-cell har jag använt formeln B2 - B3.

Det här är det vanliga som alla gör. Men vad sägs om att skapa namnen och tillämpa formeln på något sätt som "försäljning" - "kostnad".

Placera en markör på cellen B2> Gå till rutan Namn och kalla den som Försäljning.

Placera en markör på B3-cellen och kalla den Cost.

Nu i vinstkolumnen kan vi hänvisa dessa namn istället för cellreferenser.

Detta är det grundläggande med Named Ranges.

Hur skapar jag namngivna områden med VBA-kod?

Exempel nr 1

Har du tänkt på att skapa ett namngivet intervall med VBA-kod?

Följ stegen nedan för att skapa namngivna intervall.

Steg 1: Definiera variabeln som "Range".

Koda:

 Sub NamedRanges_Example () Dim Rng As Range End Sub 

Steg 2: Ställ nu in variabeln "Rng" till specifika celler som du vill namnge.

Koda:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") End Sub 

Steg 3: Använd "ThisWorkbook" objektåtkomst Names Property.

Vi har så många parametrar med Names.Add- metoden. Nedan följer förklaringarna.

[Namn]: Namn är inget annat än vad vi vill ge det intervall vi anger.

Medan namnet på cellen får det inte innehålla några specialtecken utom understrykningssymbolen (_) och det bör inte innehålla mellanslag, det bör inte börja med numeriska värden.

[Hänvisar till]: Detta är ingenting annat än vad är det cellområde vi hänvisar till.

Jag tror att dessa två parametrar är tillräckligt bra för att inleda förfarandet.

Steg 4: I namnet anger argumentet det namn du vill ge. Jag har nämnt som "SalesNumbers".

Koda:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers" End Sub 

Steg 5: I argumentet refererar till anger du det cellintervall vi vill skapa. I namnet "Rng" -variabel har vi redan tilldelat cellområdet som A2 till A7, så ange argumentet som "Rng".

Koda:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng End Sub Sub 

Ok, den här koden skapar namngivna intervall för celler från A2 till A7.

Nu i kalkylbladet har jag skapat några siffror från A2 till A7.

I A8-cellen vill jag ha summan av ovanstående cellnummer. Med hjälp av namngivet intervall skapar vi en SUMMA av dessa nummer.

Koda:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Range ("A8"). Value = WorksheetFunction.Sum (Range ( "SalesNumbers")) End Sub 

Om du kör den här koden manuellt eller genom att trycka på f5-tangenten kommer vi att få summan av ett namngivet intervall i cell A8.

Detta är de grundläggande måste-veta fakta om "Named Ranges".

Exempel 2

I VBA med RANGE-objekt kan vi referera till cellerna. På samma sätt kan vi också hänvisa till dessa celler genom att använda namngivna intervall också.

I exemplet ovan har vi till exempel kallat cellen B2 som "Försäljning" och B3 som "Kostnad" .

Genom att använda faktisk cellreferens hänvisar vi till dessa celler så här.

Koda:

 Sub NamedRanges () Range ("B2"). Välj "Detta kommer att välja B2-cellintervall (" B3 "). Välj" Detta kommer att välja B3-cell End Sub 

Eftersom vi redan skapat dessa celler kan vi hänvisa till att använda dessa namn som nedan.

Koda:

 Sub NamedRanges () Range ("Sales"). Välj "Detta markerar cell med namnet" Sales ", dvs B2-cellintervall (" Cost "). Välj" Detta markerar cell som heter "Cost" dvs. B3 cell End Sub 

Så här med namngivna områden kan vi använda dessa celler. Med hjälp av dessa kan vi beräkna vinstbeloppet i cell B4. För detta förnamn cellen B4 som vinst.

Tillämpa nu denna kod i VBA-redigeraren.

Koda:

 Sub NamedRanges_Example1 () Range ("Profit"). Värde = Range ("Sales") - Range ("Cost") Slut Sub 

This will calculate the profit amount in the cell named “Profit”.